]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 23 Oct 2008 20:02:48 +0000 (13:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 23 Oct 2008 20:02:48 +0000 (13:02 -0700)
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  staging: pcc_acpi: delete obsolete driver

99 files changed:
MAINTAINERS
arch/m68k/amiga/config.c
arch/m68k/atari/config.c
arch/m68k/atari/stram.c
arch/m68k/bvme6000/config.c
arch/m68k/kernel/setup.c
arch/m68k/mvme147/config.c
arch/m68k/mvme16x/config.c
arch/m68k/q40/config.c
arch/m68k/sun3/config.c
arch/m68k/sun3x/config.c
arch/x86/boot/video-bios.c
arch/x86/boot/video-vesa.c
arch/x86/include/asm/pgtable.h
arch/x86/include/asm/syscall.h
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/cpu/proc.c
arch/x86/kernel/dumpstack_32.c
arch/x86/kernel/entry_32.S
arch/x86/kernel/genapic_flat_64.c
arch/x86/kernel/genx2apic_cluster.c
arch/x86/kernel/genx2apic_phys.c
arch/x86/kernel/genx2apic_uv_x.c
arch/x86/kernel/setup_percpu.c
arch/x86/kernel/smpboot.c
arch/x86/kernel/tlb_uv.c
arch/x86/kernel/traps.c
arch/x86/kernel/xsave.c
arch/x86/mm/memtest.c
arch/x86/mm/pageattr.c
block/genhd.c
drivers/message/fusion/mptscsih.c
drivers/scsi/3w-9xxx.c
drivers/scsi/3w-xxxx.c
drivers/scsi/aic7xxx/aic79xx.reg
drivers/scsi/aic7xxx/aic79xx_core.c
drivers/scsi/aic7xxx/aic79xx_pci.c
drivers/scsi/aic7xxx/aic79xx_reg.h_shipped
drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped
drivers/scsi/aic7xxx/aic7xxx.reg
drivers/scsi/aic7xxx/aic7xxx_core.c
drivers/scsi/aic7xxx/aic7xxx_reg.h_shipped
drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
drivers/scsi/aic7xxx/aicasm/aicasm_scan.l
drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c
drivers/scsi/aic7xxx/aicasm/aicasm_symbol.h
drivers/scsi/device_handler/scsi_dh_rdac.c
drivers/scsi/ipr.c
drivers/scsi/scsi_lib.c
drivers/scsi/scsi_netlink.c
drivers/scsi/sd.c
drivers/scsi/sun3x_esp.c
fs/ext4/namei.c
fs/filesystems.c
fs/locks.c
fs/proc/Makefile
fs/proc/cmdline.c [new file with mode: 0644]
fs/proc/cpuinfo.c [new file with mode: 0644]
fs/proc/devices.c [new file with mode: 0644]
fs/proc/generic.c
fs/proc/inode.c
fs/proc/internal.h
fs/proc/interrupts.c [new file with mode: 0644]
fs/proc/kcore.c
fs/proc/kmsg.c
fs/proc/loadavg.c [new file with mode: 0644]
fs/proc/meminfo.c [new file with mode: 0644]
fs/proc/page.c [new file with mode: 0644]
fs/proc/proc_devtree.c
fs/proc/proc_misc.c [deleted file]
fs/proc/proc_sysctl.c
fs/proc/root.c
fs/proc/stat.c [new file with mode: 0644]
fs/proc/task_mmu.c
fs/proc/uptime.c [new file with mode: 0644]
fs/proc/version.c [new file with mode: 0644]
fs/proc/vmcore.c
include/asm-m68k/machdep.h
include/linux/crash_dump.h
include/linux/fs.h
include/linux/genhd.h
include/linux/hugetlb.h
include/linux/proc_fs.h
include/linux/sched.h
include/linux/slab.h
include/linux/vmalloc.h
include/linux/vmstat.h
kernel/exec_domain.c
kernel/module.c
kernel/params.c
kernel/sched.c
kernel/sched_stats.h
lib/string_helpers.c
mm/hugetlb.c
mm/slab.c
mm/slub.c
mm/vmalloc.c
mm/vmstat.c

index 277451a52695843c9c572d915a6ca680718e7ced..16202c8ac68f06bf2dfcb387aa2ee91c5e9bc4f6 100644 (file)
@@ -378,8 +378,9 @@ T:  git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git
 S:     Supported
 
 AMD MICROCODE UPDATE SUPPORT
-P:      Peter Oruba
-M:      peter.oruba@amd.com
+P:      Andreas Herrmann
+M:      andeas.herrmann3@amd.com
+L:      amd64-microcode@amd64.org
 S:      Supported
 
 AMS (Apple Motion Sensor) DRIVER
index 0a3f9e8ebde0db468365abf2a429a11a04c1e934..ab9862c3a136f4bc49f744b04bd2feae51912e83 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/seq_file.h>
 #include <linux/tty.h>
 #include <linux/console.h>
 #include <linux/rtc.h>
@@ -93,7 +94,7 @@ static char amiga_model_name[13] = "Amiga ";
 
 static void amiga_sched_init(irq_handler_t handler);
 static void amiga_get_model(char *model);
-static int amiga_get_hardware_list(char *buffer);
+static void amiga_get_hardware_list(struct seq_file *m);
 /* amiga specific timer functions */
 static unsigned long amiga_gettimeoffset(void);
 static int a3000_hwclk(int, struct rtc_time *);
@@ -911,13 +912,11 @@ static void amiga_get_model(char *model)
 }
 
 
-static int amiga_get_hardware_list(char *buffer)
+static void amiga_get_hardware_list(struct seq_file *m)
 {
-       int len = 0;
-
        if (AMIGAHW_PRESENT(CHIP_RAM))
-               len += sprintf(buffer+len, "Chip RAM:\t%ldK\n", amiga_chip_size>>10);
-       len += sprintf(buffer+len, "PS Freq:\t%dHz\nEClock Freq:\t%ldHz\n",
+               seq_printf(m, "Chip RAM:\t%ldK\n", amiga_chip_size>>10);
+       seq_printf(m, "PS Freq:\t%dHz\nEClock Freq:\t%ldHz\n",
                        amiga_psfreq, amiga_eclock);
        if (AMIGAHW_PRESENT(AMI_VIDEO)) {
                char *type;
@@ -935,14 +934,14 @@ static int amiga_get_hardware_list(char *buffer)
                        type = "Old or Unknown";
                        break;
                }
-               len += sprintf(buffer+len, "Graphics:\t%s\n", type);
+               seq_printf(m, "Graphics:\t%s\n", type);
        }
 
 #define AMIGAHW_ANNOUNCE(name, str)                    \
        if (AMIGAHW_PRESENT(name))                      \
-               len += sprintf (buffer+len, "\t%s\n", str)
+               seq_printf (m, "\t%s\n", str)
 
-       len += sprintf (buffer + len, "Detected hardware:\n");
+       seq_printf (m, "Detected hardware:\n");
 
        AMIGAHW_ANNOUNCE(AMI_VIDEO, "Amiga Video");
        AMIGAHW_ANNOUNCE(AMI_BLITTER, "Blitter");
@@ -975,15 +974,13 @@ static int amiga_get_hardware_list(char *buffer)
        AMIGAHW_ANNOUNCE(PCMCIA, "PCMCIA Slot");
 #ifdef CONFIG_ZORRO
        if (AMIGAHW_PRESENT(ZORRO))
-               len += sprintf(buffer+len, "\tZorro II%s AutoConfig: %d Expansion "
+               seq_printf(m, "\tZorro II%s AutoConfig: %d Expansion "
                                "Device%s\n",
                                AMIGAHW_PRESENT(ZORRO3) ? "I" : "",
                                zorro_num_autocon, zorro_num_autocon == 1 ? "" : "s");
 #endif /* CONFIG_ZORRO */
 
 #undef AMIGAHW_ANNOUNCE
-
-       return len;
 }
 
 /*
index af031855f796f4b61bd716f092d5065c97d1bc12..49c28cdbea5c5bf6cc89d00be99eee339900838c 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <linux/types.h>
 #include <linux/mm.h>
+#include <linux/seq_file.h>
 #include <linux/console.h>
 #include <linux/init.h>
 #include <linux/delay.h>
@@ -63,7 +64,7 @@ int atari_rtc_year_offset;
 /* local function prototypes */
 static void atari_reset(void);
 static void atari_get_model(char *model);
-static int atari_get_hardware_list(char *buffer);
+static void atari_get_hardware_list(struct seq_file *m);
 
 /* atari specific irq functions */
 extern void atari_init_IRQ (void);
@@ -611,21 +612,21 @@ static void atari_get_model(char *model)
 }
 
 
-static int atari_get_hardware_list(char *buffer)
+static void atari_get_hardware_list(struct seq_file *m)
 {
-       int len = 0, i;
+       int i;
 
        for (i = 0; i < m68k_num_memory; i++)
-               len += sprintf(buffer+len, "\t%3ld MB at 0x%08lx (%s)\n",
+               seq_printf(m, "\t%3ld MB at 0x%08lx (%s)\n",
                                m68k_memory[i].size >> 20, m68k_memory[i].addr,
                                (m68k_memory[i].addr & 0xff000000 ?
                                 "alternate RAM" : "ST-RAM"));
 
 #define ATARIHW_ANNOUNCE(name, str)                    \
        if (ATARIHW_PRESENT(name))                      \
-               len += sprintf(buffer + len, "\t%s\n", str)
+               seq_printf(m, "\t%s\n", str)
 
-       len += sprintf(buffer + len, "Detected hardware:\n");
+       seq_printf(m, "Detected hardware:\n");
        ATARIHW_ANNOUNCE(STND_SHIFTER, "ST Shifter");
        ATARIHW_ANNOUNCE(EXTD_SHIFTER, "STe Shifter");
        ATARIHW_ANNOUNCE(TT_SHIFTER, "TT Shifter");
@@ -654,6 +655,4 @@ static int atari_get_hardware_list(char *buffer)
        ATARIHW_ANNOUNCE(BLITTER, "Blitter");
        ATARIHW_ANNOUNCE(VME, "VME Bus");
        ATARIHW_ANNOUNCE(DSP56K, "DSP56001 processor");
-
-       return len;
 }
index 04c69ffbea71635b23a1652e9c6159e37eb8f82c..6ec3b7f33779bcef5bb00ffea045d8dce7f3e46b 100644 (file)
@@ -42,6 +42,7 @@
 /* abbrev for the && above... */
 #define DO_PROC
 #include <linux/proc_fs.h>
+#include <linux/seq_file.h>
 #endif
 
 /*
@@ -323,19 +324,16 @@ static int remove_region( BLOCK *block )
 
 #ifdef DO_PROC
 
-#define        PRINT_PROC(fmt,args...) len += sprintf( buf+len, fmt, ##args )
+#define        PRINT_PROC(fmt,args...) seq_printf( m, fmt, ##args )
 
-int get_stram_list( char *buf )
+static int stram_proc_show(struct seq_file *m, void *v)
 {
-       int len = 0;
        BLOCK *p;
 
        PRINT_PROC("Total ST-RAM:      %8u kB\n",
                           (stram_end - stram_start) >> 10);
        PRINT_PROC( "Allocated regions:\n" );
        for( p = alloc_list; p; p = p->next ) {
-               if (len + 50 >= PAGE_SIZE)
-                       break;
                PRINT_PROC("0x%08lx-0x%08lx: %s (",
                           virt_to_phys(p->start),
                           virt_to_phys(p->start+p->size-1),
@@ -346,9 +344,27 @@ int get_stram_list( char *buf )
                        PRINT_PROC( "??)\n" );
        }
 
-       return( len );
+       return 0;
+}
+
+static int stram_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, stram_proc_show, NULL);
 }
 
+static const struct file_operations stram_proc_fops = {
+       .open           = stram_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_stram_init(void)
+{
+       proc_create("stram", 0, NULL, &stram_proc_fops);
+       return 0;
+}
+module_init(proc_stram_init);
 #endif
 
 
index 65c9204ab9ac626aaec3066967bdce9b1792ea60..c072595928c06d0496df7ec0b9a197b763709925 100644 (file)
@@ -38,7 +38,6 @@
 #include <asm/bvme6000hw.h>
 
 static void bvme6000_get_model(char *model);
-static int  bvme6000_get_hardware_list(char *buffer);
 extern void bvme6000_sched_init(irq_handler_t handler);
 extern unsigned long bvme6000_gettimeoffset (void);
 extern int bvme6000_hwclk (int, struct rtc_time *);
@@ -82,15 +81,6 @@ static void bvme6000_get_model(char *model)
     sprintf(model, "BVME%d000", m68k_cputype == CPU_68060 ? 6 : 4);
 }
 
-
-/* No hardware options on BVME6000? */
-
-static int bvme6000_get_hardware_list(char *buffer)
-{
-    *buffer = '\0';
-    return 0;
-}
-
 /*
  * This function is called during kernel startup to initialize
  * the bvme6000 IRQ handling routines.
@@ -127,7 +117,6 @@ void __init config_bvme6000(void)
     mach_set_clock_mmss         = bvme6000_set_clock_mmss;
     mach_reset          = bvme6000_reset;
     mach_get_model       = bvme6000_get_model;
-    mach_get_hardware_list = bvme6000_get_hardware_list;
 
     printk ("Board is %sconfigured as a System Controller\n",
                *config_reg_ptr & BVME_CONFIG_SW1 ? "" : "not ");
index ea1e44da19b9145a2cccd159488b0d427902f10e..4d97bd2bd573845db42d11b8b03c096b5148eac9 100644 (file)
@@ -20,6 +20,7 @@
 #include <linux/string.h>
 #include <linux/init.h>
 #include <linux/bootmem.h>
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/module.h>
 #include <linux/initrd.h>
@@ -80,7 +81,7 @@ void (*mach_sched_init) (irq_handler_t handler) __initdata = NULL;
 /* machine dependent irq functions */
 void (*mach_init_IRQ) (void) __initdata = NULL;
 void (*mach_get_model) (char *model);
-int (*mach_get_hardware_list) (char *buffer);
+void (*mach_get_hardware_list) (struct seq_file *m);
 /* machine dependent timer functions */
 unsigned long (*mach_gettimeoffset) (void);
 int (*mach_hwclk) (int, struct rtc_time*);
@@ -467,9 +468,9 @@ const struct seq_operations cpuinfo_op = {
        .show   = show_cpuinfo,
 };
 
-int get_hardware_list(char *buffer)
+#ifdef CONFIG_PROC_HARDWARE
+static int hardware_proc_show(struct seq_file *m, void *v)
 {
-       int len = 0;
        char model[80];
        unsigned long mem;
        int i;
@@ -479,17 +480,37 @@ int get_hardware_list(char *buffer)
        else
                strcpy(model, "Unknown m68k");
 
-       len += sprintf(buffer + len, "Model:\t\t%s\n", model);
+       seq_printf(m, "Model:\t\t%s\n", model);
        for (mem = 0, i = 0; i < m68k_num_memory; i++)
                mem += m68k_memory[i].size;
-       len += sprintf(buffer + len, "System Memory:\t%ldK\n", mem >> 10);
+       seq_printf(m, "System Memory:\t%ldK\n", mem >> 10);
 
        if (mach_get_hardware_list)
-               len += mach_get_hardware_list(buffer + len);
+               mach_get_hardware_list(m);
 
-       return len;
+       return 0;
+}
+
+static int hardware_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, hardware_proc_show, NULL);
 }
 
+static const struct file_operations hardware_proc_fops = {
+       .open           = hardware_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_hardware_init(void)
+{
+       proc_create("hardware", 0, NULL, &hardware_proc_fops);
+       return 0;
+}
+module_init(proc_hardware_init);
+#endif
+
 void check_bugs(void)
 {
 #ifndef CONFIG_M68KFPU_EMU
index 92fe507141126fd566973e9598c86dd31e9eb389..43cdf476ffab17cd690b1bb8e8abba98082755a4 100644 (file)
@@ -37,7 +37,6 @@
 
 
 static void mvme147_get_model(char *model);
-static int  mvme147_get_hardware_list(char *buffer);
 extern void mvme147_sched_init(irq_handler_t handler);
 extern unsigned long mvme147_gettimeoffset (void);
 extern int mvme147_hwclk (int, struct rtc_time *);
@@ -76,14 +75,6 @@ static void mvme147_get_model(char *model)
        sprintf(model, "Motorola MVME147");
 }
 
-
-static int mvme147_get_hardware_list(char *buffer)
-{
-       *buffer = '\0';
-
-       return 0;
-}
-
 /*
  * This function is called during kernel startup to initialize
  * the mvme147 IRQ handling routines.
@@ -104,7 +95,6 @@ void __init config_mvme147(void)
        mach_set_clock_mmss     = mvme147_set_clock_mmss;
        mach_reset              = mvme147_reset;
        mach_get_model          = mvme147_get_model;
-       mach_get_hardware_list  = mvme147_get_hardware_list;
 
        /* Board type is only set by newer versions of vmelilo/tftplilo */
        if (!vme_brdtype)
index 24cbc3030454aed4a76e847cfed91f415d8fc33b..1521826fc3c7caef9a62935a2bde21f0f6135378 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/seq_file.h>
 #include <linux/tty.h>
 #include <linux/console.h>
 #include <linux/linkage.h>
@@ -42,7 +43,6 @@ extern t_bdid mvme_bdid;
 static MK48T08ptr_t volatile rtc = (MK48T08ptr_t)MVME_RTC_BASE;
 
 static void mvme16x_get_model(char *model);
-static int  mvme16x_get_hardware_list(char *buffer);
 extern void mvme16x_sched_init(irq_handler_t handler);
 extern unsigned long mvme16x_gettimeoffset (void);
 extern int mvme16x_hwclk (int, struct rtc_time *);
@@ -93,26 +93,21 @@ static void mvme16x_get_model(char *model)
 }
 
 
-static int mvme16x_get_hardware_list(char *buffer)
+static void mvme16x_get_hardware_list(struct seq_file *m)
 {
     p_bdid p = &mvme_bdid;
-    int len = 0;
 
     if (p->brdno == 0x0162 || p->brdno == 0x0172)
     {
        unsigned char rev = *(unsigned char *)MVME162_VERSION_REG;
 
-       len += sprintf (buffer+len, "VMEchip2        %spresent\n",
+       seq_printf (m, "VMEchip2        %spresent\n",
                        rev & MVME16x_CONFIG_NO_VMECHIP2 ? "NOT " : "");
-       len += sprintf (buffer+len, "SCSI interface  %spresent\n",
+       seq_printf (m, "SCSI interface  %spresent\n",
                        rev & MVME16x_CONFIG_NO_SCSICHIP ? "NOT " : "");
-       len += sprintf (buffer+len, "Ethernet i/f    %spresent\n",
+       seq_printf (m, "Ethernet i/f    %spresent\n",
                        rev & MVME16x_CONFIG_NO_ETHERNET ? "NOT " : "");
     }
-    else
-       *buffer = '\0';
-
-    return (len);
 }
 
 /*
index 9c7eefa3f98a133bd53d767b0edbf3f622993416..7110546e3c00f412dcc88c7ad69111feb890d339 100644 (file)
@@ -39,7 +39,6 @@
 extern irqreturn_t q40_process_int(int level, struct pt_regs *regs);
 extern void q40_init_IRQ(void);
 static void q40_get_model(char *model);
-static int  q40_get_hardware_list(char *buffer);
 extern void q40_sched_init(irq_handler_t handler);
 
 static unsigned long q40_gettimeoffset(void);
@@ -153,14 +152,6 @@ static void q40_get_model(char *model)
        sprintf(model, "Q40");
 }
 
-/* No hardware options on Q40? */
-
-static int q40_get_hardware_list(char *buffer)
-{
-       *buffer = '\0';
-       return 0;
-}
-
 static unsigned int serports[] =
 {
        0x3f8,0x2f8,0x3e8,0x2e8,0
@@ -191,7 +182,6 @@ void __init config_q40(void)
 
        mach_reset = q40_reset;
        mach_get_model = q40_get_model;
-       mach_get_hardware_list = q40_get_hardware_list;
 
 #if defined(CONFIG_INPUT_M68K_BEEP) || defined(CONFIG_INPUT_M68K_BEEP_MODULE)
        mach_beep = q40_mksound;
index 732087d0735cf53d02e80d9f18fa63e24208429a..8dfaa201342e142726fc7d4671649da57148040a 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/seq_file.h>
 #include <linux/tty.h>
 #include <linux/console.h>
 #include <linux/init.h>
@@ -46,16 +47,9 @@ extern volatile unsigned char* sun3_intreg;
 extern unsigned long availmem;
 unsigned long num_pages;
 
-static int sun3_get_hardware_list(char *buffer)
+static void sun3_get_hardware_list(struct seq_file *m)
 {
-
-       int len = 0;
-
-       len += sprintf(buffer + len, "PROM Revision:\t%s\n",
-                      romvec->pv_monid);
-
-       return len;
-
+       seq_printf(m, "PROM Revision:\t%s\n", romvec->pv_monid);
 }
 
 void __init sun3_init(void)
index 987891783a472f64662ba93b2093639aebcd0960..2b1ca2db070fc429e25cfb9ae9140c5b26f8cbe9 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <linux/types.h>
 #include <linux/mm.h>
+#include <linux/seq_file.h>
 #include <linux/console.h>
 #include <linux/init.h>
 
@@ -31,16 +32,9 @@ void sun3_leds(unsigned int i)
 
 }
 
-static int sun3x_get_hardware_list(char *buffer)
+static void sun3x_get_hardware_list(struct seq_file *m)
 {
-
-       int len = 0;
-
-       len += sprintf(buffer + len, "PROM Revision:\t%s\n",
-                      romvec->pv_monid);
-
-       return len;
-
+       seq_printf(m, "PROM Revision:\t%s\n", romvec->pv_monid);
 }
 
 /*
index 49f26aaaebc8f2d58064cc1be981103742ab8524..3fa979c9c363a5dbe6f9ce6d754636ed301d01b1 100644 (file)
@@ -17,7 +17,7 @@
 #include "boot.h"
 #include "video.h"
 
-__videocard video_bios;
+static __videocard video_bios;
 
 /* Set a conventional BIOS mode */
 static int set_bios_mode(u8 mode);
@@ -119,7 +119,7 @@ static int bios_probe(void)
        return nmodes;
 }
 
-__videocard video_bios =
+static __videocard video_bios =
 {
        .card_name      = "BIOS",
        .probe          = bios_probe,
index 99b3079dc6ab1fb25c4f083639b13547fa663354..75115849af330e057c71eecd845e4b799107a077 100644 (file)
@@ -20,7 +20,7 @@
 static struct vesa_general_info vginfo;
 static struct vesa_mode_info vminfo;
 
-__videocard video_vesa;
+static __videocard video_vesa;
 
 #ifndef _WAKEUP
 static void vesa_store_mode_params_graphics(void);
@@ -293,7 +293,7 @@ void vesa_store_edid(void)
 
 #endif /* not _WAKEUP */
 
-__videocard video_vesa =
+static __videocard video_vesa =
 {
        .card_name      = "VESA",
        .probe          = vesa_probe,
index fb7d1e9985b5a4ea4940dab4ee63c9777ec174ed..c012f3b11671574150720dcaee023780cd79d905 100644 (file)
@@ -348,7 +348,8 @@ static inline void native_pagetable_setup_start(pgd_t *base) {}
 static inline void native_pagetable_setup_done(pgd_t *base) {}
 #endif
 
-extern int arch_report_meminfo(char *page);
+struct seq_file;
+extern void arch_report_meminfo(struct seq_file *m);
 
 #ifdef CONFIG_PARAVIRT
 #include <asm/paravirt.h>
index 1d88f6957d3967cf456cfad166990eb2d8dda8e0..d82f39bb7905e8f14d3cbd1dc0365ba98f03eea6 100644 (file)
@@ -93,26 +93,26 @@ static inline void syscall_get_arguments(struct task_struct *task,
 {
 # ifdef CONFIG_IA32_EMULATION
        if (task_thread_info(task)->status & TS_COMPAT)
-               switch (i + n) {
-               case 6:
+               switch (i) {
+               case 0:
                        if (!n--) break;
-                       *args++ = regs->bp;
-               case 5:
+                       *args++ = regs->bx;
+               case 1:
                        if (!n--) break;
-                       *args++ = regs->di;
-               case 4:
+                       *args++ = regs->cx;
+               case 2:
                        if (!n--) break;
-                       *args++ = regs->si;
+                       *args++ = regs->dx;
                case 3:
                        if (!n--) break;
-                       *args++ = regs->dx;
-               case 2:
+                       *args++ = regs->si;
+               case 4:
                        if (!n--) break;
-                       *args++ = regs->cx;
-               case 1:
+                       *args++ = regs->di;
+               case 5:
                        if (!n--) break;
-                       *args++ = regs->bx;
-               case 0:
+                       *args++ = regs->bp;
+               case 6:
                        if (!n--) break;
                default:
                        BUG();
@@ -120,26 +120,26 @@ static inline void syscall_get_arguments(struct task_struct *task,
                }
        else
 # endif
-               switch (i + n) {
-               case 6:
+               switch (i) {
+               case 0:
                        if (!n--) break;
-                       *args++ = regs->r9;
-               case 5:
+                       *args++ = regs->di;
+               case 1:
                        if (!n--) break;
-                       *args++ = regs->r8;
-               case 4:
+                       *args++ = regs->si;
+               case 2:
                        if (!n--) break;
-                       *args++ = regs->r10;
+                       *args++ = regs->dx;
                case 3:
                        if (!n--) break;
-                       *args++ = regs->dx;
-               case 2:
+                       *args++ = regs->r10;
+               case 4:
                        if (!n--) break;
-                       *args++ = regs->si;
-               case 1:
+                       *args++ = regs->r8;
+               case 5:
                        if (!n--) break;
-                       *args++ = regs->di;
-               case 0:
+                       *args++ = regs->r9;
+               case 6:
                        if (!n--) break;
                default:
                        BUG();
@@ -154,55 +154,57 @@ static inline void syscall_set_arguments(struct task_struct *task,
 {
 # ifdef CONFIG_IA32_EMULATION
        if (task_thread_info(task)->status & TS_COMPAT)
-               switch (i + n) {
-               case 6:
+               switch (i) {
+               case 0:
                        if (!n--) break;
-                       regs->bp = *args++;
-               case 5:
+                       regs->bx = *args++;
+               case 1:
                        if (!n--) break;
-                       regs->di = *args++;
-               case 4:
+                       regs->cx = *args++;
+               case 2:
                        if (!n--) break;
-                       regs->si = *args++;
+                       regs->dx = *args++;
                case 3:
                        if (!n--) break;
-                       regs->dx = *args++;
-               case 2:
+                       regs->si = *args++;
+               case 4:
                        if (!n--) break;
-                       regs->cx = *args++;
-               case 1:
+                       regs->di = *args++;
+               case 5:
                        if (!n--) break;
-                       regs->bx = *args++;
-               case 0:
+                       regs->bp = *args++;
+               case 6:
                        if (!n--) break;
                default:
                        BUG();
+                       break;
                }
        else
 # endif
-               switch (i + n) {
-               case 6:
+               switch (i) {
+               case 0:
                        if (!n--) break;
-                       regs->r9 = *args++;
-               case 5:
+                       regs->di = *args++;
+               case 1:
                        if (!n--) break;
-                       regs->r8 = *args++;
-               case 4:
+                       regs->si = *args++;
+               case 2:
                        if (!n--) break;
-                       regs->r10 = *args++;
+                       regs->dx = *args++;
                case 3:
                        if (!n--) break;
-                       regs->dx = *args++;
-               case 2:
+                       regs->r10 = *args++;
+               case 4:
                        if (!n--) break;
-                       regs->si = *args++;
-               case 1:
+                       regs->r8 = *args++;
+               case 5:
                        if (!n--) break;
-                       regs->di = *args++;
-               case 0:
+                       regs->r9 = *args++;
+               case 6:
                        if (!n--) break;
                default:
                        BUG();
+                       break;
                }
 }
 
index 53b01a1ae10c8fe04e2a926ad1209473c71b487b..8c1f76abae9eac1b28d3a90abb26d6fb39fb8496 100644 (file)
@@ -1137,7 +1137,7 @@ int mp_register_gsi(u32 gsi, int triggering, int polarity)
                return gsi;
        }
        if (test_bit(ioapic_pin, mp_ioapic_routing[ioapic].pin_programmed)) {
-               pr_debug(KERN_DEBUG "Pin %d-%d already programmed\n",
+               pr_debug("Pin %d-%d already programmed\n",
                         mp_ioapic_routing[ioapic].apic_id, ioapic_pin);
 #ifdef CONFIG_X86_32
                return (gsi < IRQ_COMPRESSION_START ? gsi : gsi_to_irq[gsi]);
@@ -1599,6 +1599,11 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
                     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
                     },
         },
+       {}
+};
+
+/* second table for DMI checks that should run after early-quirks */
+static struct dmi_system_id __initdata acpi_dmi_table_late[] = {
        /*
         * HP laptops which use a DSDT reporting as HP/SB400/10000,
         * which includes some code which overrides all temperature
@@ -1727,6 +1732,9 @@ int __init early_acpi_boot_init(void)
 
 int __init acpi_boot_init(void)
 {
+       /* those are executed after early-quirks are executed */
+       dmi_check_system(acpi_dmi_table_late);
+
        /*
         * If acpi_disabled, bail out
         * One exception: acpi=ht continues far enough to enumerate LAPICs
index a26c480b94915a2b460c0963bf38f9693c911641..01b1244ef1c0f47456a246f89324973b4f74269e 100644 (file)
@@ -160,14 +160,16 @@ static void *c_start(struct seq_file *m, loff_t *pos)
 {
        if (*pos == 0)  /* just in case, cpu 0 is not the first */
                *pos = first_cpu(cpu_online_map);
-       if ((*pos) < nr_cpu_ids && cpu_online(*pos))
+       else
+               *pos = next_cpu_nr(*pos - 1, cpu_online_map);
+       if ((*pos) < nr_cpu_ids)
                return &cpu_data(*pos);
        return NULL;
 }
 
 static void *c_next(struct seq_file *m, void *v, loff_t *pos)
 {
-       *pos = next_cpu(*pos, cpu_online_map);
+       (*pos)++;
        return c_start(m, pos);
 }
 
index 1a78180f08d39aa2a87a2b2738e7a6b488a4d5dc..b3614752197b6c6e3c0cf53c7b718dd0167fbdea 100644 (file)
@@ -405,7 +405,6 @@ die_nmi(char *str, struct pt_regs *regs, int do_panic)
                panic("Non maskable interrupt");
        console_silent();
        spin_unlock(&nmi_print_lock);
-       bust_spinlocks(0);
 
        /*
         * If we are in kernel we are probably nested up pretty bad
@@ -416,6 +415,7 @@ die_nmi(char *str, struct pt_regs *regs, int do_panic)
                crash_kexec(regs);
        }
 
+       bust_spinlocks(0);
        do_exit(SIGSEGV);
 }
 
index c356423a6026fd62123a13d6229bfa4d9a224df3..dd65143941a841de0f55a4830732be7a0fcada4b 100644 (file)
@@ -1024,7 +1024,7 @@ ENTRY(machine_check)
        RING0_INT_FRAME
        pushl $0
        CFI_ADJUST_CFA_OFFSET 4
-       pushl $do_machine_check
+       pushl machine_check_vector
        CFI_ADJUST_CFA_OFFSET 4
        jmp error_code
        CFI_ENDPROC
index 2ec2de8d8c46525a13d91a731366d5cfbce4b37b..c0262791bda40e5cd10960fb496360ca8298b879 100644 (file)
@@ -25,7 +25,7 @@
 #include <acpi/acpi_bus.h>
 #endif
 
-static int __init flat_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+static int flat_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 {
        return 1;
 }
@@ -170,7 +170,7 @@ struct genapic apic_flat =  {
  * We cannot use logical delivery in this case because the mask
  * overflows, so use physical mode.
  */
-static int __init physflat_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+static int physflat_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 {
 #ifdef CONFIG_ACPI
        /*
index e4bf2cc0d743998b069925574ff93c559f7c24f3..f6a2c8eb48a6bb1706212636246539d5f1ce64dc 100644 (file)
@@ -12,7 +12,7 @@
 
 DEFINE_PER_CPU(u32, x86_cpu_to_logical_apicid);
 
-static int __init x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 {
        if (cpu_has_x2apic)
                return 1;
index 8f1343df2627116e1c254f59ccd6f5525ed5f8b2..d042211768b74243f0c7b7dbfd321be707109f04 100644 (file)
@@ -19,7 +19,7 @@ static int set_x2apic_phys_mode(char *arg)
 }
 early_param("x2apic_phys", set_x2apic_phys_mode);
 
-static int __init x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 {
        if (cpu_has_x2apic && x2apic_phys)
                return 1;
index bfd532843df68f46b43ac822b581534bb23771ac..680a06557c5e6c255fa9ea2e5c4decc155d68a73 100644 (file)
@@ -30,7 +30,7 @@ DEFINE_PER_CPU(int, x2apic_extra_bits);
 
 static enum uv_system_type uv_system_type;
 
-static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+static int uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 {
        if (!strcmp(oem_id, "SGI")) {
                if (!strcmp(oem_table_id, "UVL"))
index 410c88f0bfeba4c544b3f49e5db459ceb3911515..ae0c0d3bb7704605440467d26ec48eaf84faad83 100644 (file)
@@ -218,7 +218,7 @@ static void __init setup_node_to_cpumask_map(void)
        /* allocate the map */
        map = alloc_bootmem_low(nr_node_ids * sizeof(cpumask_t));
 
-       pr_debug(KERN_DEBUG "Node to cpumask map at %p for %d nodes\n",
+       pr_debug("Node to cpumask map at %p for %d nodes\n",
                 map, nr_node_ids);
 
        /* node_to_cpumask() will now work */
index 7ece815ea637497355a63ba90b218ef5536d57a0..7b1093397319766b2e4848a5a883b0dc35f49804 100644 (file)
@@ -893,9 +893,11 @@ do_rest:
                smpboot_setup_warm_reset_vector(start_ip);
                /*
                 * Be paranoid about clearing APIC errors.
-               */
-               apic_write(APIC_ESR, 0);
-               apic_read(APIC_ESR);
+               */
+               if (APIC_INTEGRATED(apic_version[boot_cpu_physical_apicid])) {
+                       apic_write(APIC_ESR, 0);
+                       apic_read(APIC_ESR);
+               }
        }
 
        /*
index 8b8c0d6640fa9ba9ca7da73fac2cb4ee52e7be26..04431f34fd16f24946bb66b4eedf69ed7e51cf6f 100644 (file)
@@ -6,7 +6,7 @@
  *     This code is released under the GNU General Public License version 2 or
  *     later.
  */
-#include <linux/mc146818rtc.h>
+#include <linux/seq_file.h>
 #include <linux/proc_fs.h>
 #include <linux/kernel.h>
 
index e062974cce34265bc9f20857e3e4996c62c153c9..04d242ab0161967985bcb7f9e24f9fe54fb9f33f 100644 (file)
@@ -931,14 +931,6 @@ do_device_not_available(struct pt_regs *regs, long error)
 }
 
 #ifdef CONFIG_X86_32
-#ifdef CONFIG_X86_MCE
-dotraplinkage void __kprobes do_machine_check(struct pt_regs *regs, long error)
-{
-       conditional_sti(regs);
-       machine_check_vector(regs, error);
-}
-#endif
-
 dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
 {
        siginfo_t info;
index 9abac8a9d823656b720e81023aed96147b82d6f8..b13acb75e822e337aec4f8e8d6a094c24e30feb0 100644 (file)
@@ -248,7 +248,7 @@ clear:
  * This will be saved when ever the FP and extended state context is
  * saved on the user stack during the signal handler delivery to the user.
  */
-void prepare_fx_sw_frame(void)
+static void prepare_fx_sw_frame(void)
 {
        int size_extended = (xstate_size - sizeof(struct i387_fxsave_struct)) +
                             FP_XSTATE_MAGIC2_SIZE;
index 672e17f8262a28d3fa9a1b3c9c6a734db84693fe..9cab18b0b857e2d199d54d402c4a9dd110a58d5c 100644 (file)
@@ -61,9 +61,9 @@ static void __init memtest(unsigned long start_phys, unsigned long size,
                                last_bad += incr;
                        } else {
                                if (start_bad) {
-                                       printk(KERN_CONT "\n  %010lx bad mem addr %010lx - %010lx reserved",
+                                       printk(KERN_CONT "\n  %016lx bad mem addr %010lx - %010lx reserved",
                                                val, start_bad, last_bad + incr);
-                                       reserve_early(start_bad, last_bad - start_bad, "BAD RAM");
+                                       reserve_early(start_bad, last_bad + incr, "BAD RAM");
                                }
                                start_bad = last_bad = start_phys_aligned;
                        }
@@ -72,9 +72,8 @@ static void __init memtest(unsigned long start_phys, unsigned long size,
        if (start_bad) {
                printk(KERN_CONT "\n  %016lx bad mem addr %010lx - %010lx reserved",
                        val, start_bad, last_bad + incr);
-               reserve_early(start_bad, last_bad - start_bad, "BAD RAM");
+               reserve_early(start_bad, last_bad + incr, "BAD RAM");
        }
-
 }
 
 /* default is disabled */
index 407d8784f669603fd48667c8d2ee22bb8e870f35..f1dc1b75d166696628a02ea473a5bdbc0dcaabe5 100644 (file)
@@ -65,23 +65,22 @@ static void split_page_count(int level)
        direct_pages_count[level - 1] += PTRS_PER_PTE;
 }
 
-int arch_report_meminfo(char *page)
+void arch_report_meminfo(struct seq_file *m)
 {
-       int n = sprintf(page, "DirectMap4k:  %8lu kB\n",
+       seq_printf(m, "DirectMap4k:  %8lu kB\n",
                        direct_pages_count[PG_LEVEL_4K] << 2);
 #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
-       n += sprintf(page + n, "DirectMap2M:  %8lu kB\n",
+       seq_printf(m, "DirectMap2M:  %8lu kB\n",
                        direct_pages_count[PG_LEVEL_2M] << 11);
 #else
-       n += sprintf(page + n, "DirectMap4M:  %8lu kB\n",
+       seq_printf(m, "DirectMap4M:  %8lu kB\n",
                        direct_pages_count[PG_LEVEL_2M] << 12);
 #endif
 #ifdef CONFIG_X86_64
        if (direct_gbpages)
-               n += sprintf(page + n, "DirectMap1G:  %8lu kB\n",
+               seq_printf(m, "DirectMap1G:  %8lu kB\n",
                        direct_pages_count[PG_LEVEL_1G] << 20);
 #endif
-       return n;
 }
 #else
 static inline void split_page_count(int level) { }
index 646e1d2507c70d2ba88824c3dd84d91874ecb192..4e5e7493f6764e8f3a03b62e40bd40b724d15880 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/blkdev.h>
 #include <linux/init.h>
 #include <linux/spinlock.h>
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/slab.h>
 #include <linux/kmod.h>
@@ -727,12 +728,24 @@ static int show_partition(struct seq_file *seqf, void *v)
        return 0;
 }
 
-const struct seq_operations partitions_op = {
+static const struct seq_operations partitions_op = {
        .start  = show_partition_start,
        .next   = disk_seqf_next,
        .stop   = disk_seqf_stop,
        .show   = show_partition
 };
+
+static int partitions_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &partitions_op);
+}
+
+static const struct file_operations proc_partitions_operations = {
+       .open           = partitions_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
 #endif
 
 
@@ -992,12 +1005,32 @@ static int diskstats_show(struct seq_file *seqf, void *v)
        return 0;
 }
 
-const struct seq_operations diskstats_op = {
+static const struct seq_operations diskstats_op = {
        .start  = disk_seqf_start,
        .next   = disk_seqf_next,
        .stop   = disk_seqf_stop,
        .show   = diskstats_show
 };
+
+static int diskstats_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &diskstats_op);
+}
+
+static const struct file_operations proc_diskstats_operations = {
+       .open           = diskstats_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static int __init proc_genhd_init(void)
+{
+       proc_create("diskstats", 0, NULL, &proc_diskstats_operations);
+       proc_create("partitions", 0, NULL, &proc_partitions_operations);
+       return 0;
+}
+module_init(proc_genhd_init);
 #endif /* CONFIG_PROC_FS */
 
 static void media_change_notify_thread(struct work_struct *work)
index 9f9354fd35160f8a55515437d703973cc5f7323d..d62fd4f6b52e054db684e2af1e30ac12fa3a9240 100644 (file)
@@ -1760,10 +1760,9 @@ mptscsih_get_tm_timeout(MPT_ADAPTER *ioc)
        case FC:
                return 40;
        case SAS:
-               return 10;
        case SPI:
        default:
-               return 2;
+               return 10;
        }
 }
 
index b92c19bb6876971bf042c9f0e8e372e6bd5e91ef..5311317c2e4cafd10d1382f93b41ed3f6a9baf08 100644 (file)
@@ -1924,12 +1924,9 @@ static void twa_scsiop_execute_scsi_complete(TW_Device_Extension *tw_dev, int re
            (cmd->sc_data_direction == DMA_FROM_DEVICE ||
             cmd->sc_data_direction == DMA_BIDIRECTIONAL)) {
                if (scsi_sg_count(cmd) == 1) {
-                       unsigned long flags;
                        void *buf = tw_dev->generic_buffer_virt[request_id];
 
-                       local_irq_save(flags);
                        scsi_sg_copy_from_buffer(cmd, buf, TW_SECTOR_SIZE);
-                       local_irq_restore(flags);
                }
        }
 } /* End twa_scsiop_execute_scsi_complete() */
index a0537f09aa216a3d41f7e92a518e8bae3cf8d05a..c03f1d2c9e2ec1f08e1f37d1ab389bc68d517fc6 100644 (file)
@@ -1466,12 +1466,7 @@ static int tw_scsiop_inquiry(TW_Device_Extension *tw_dev, int request_id)
 static void tw_transfer_internal(TW_Device_Extension *tw_dev, int request_id,
                                 void *data, unsigned int len)
 {
-       struct scsi_cmnd *cmd = tw_dev->srb[request_id];
-       unsigned long flags;
-
-       local_irq_save(flags);
-       scsi_sg_copy_from_buffer(cmd, data, len);
-       local_irq_restore(flags);
+       scsi_sg_copy_from_buffer(tw_dev->srb[request_id], data, len);
 }
 
 /* This function is called by the isr to complete an inquiry command */
index cca16fc5b4ad746a0ec02fedb575eea6dbc7df90..0666c22ab55b60934e815e35fc37edea6ef4eac5 100644 (file)
@@ -79,6 +79,17 @@ VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $"
                mvi     SEQINTCODE, code;                               \
        }
 
+/*
+ * Registers marked "dont_generate_debug_code" are not (yet) referenced
+ * from the driver code, and this keyword inhibit generation
+ * of debug code for them.
+ *
+ * REG_PRETTY_PRINT config will complain if dont_generate_debug_code
+ * is added to the register which is referenced in the driver.
+ * Unreferenced register with no dont_generate_debug_code will result
+ * in dead code. No warning is issued.
+ */
+
 /*
  * Mode Pointer
  * Controls which of the 5, 512byte, address spaces should be used
@@ -91,6 +102,7 @@ register MODE_PTR {
        field   DST_MODE        0x70
        field   SRC_MODE        0x07
        mode_pointer
+       dont_generate_debug_code
 }
 
 const SRC_MODE_SHIFT   0
@@ -190,6 +202,7 @@ register SEQINTCODE {
                SAW_HWERR,
                BAD_SCB_STATUS
        }
+       dont_generate_debug_code
 }
 
 /*
@@ -207,6 +220,7 @@ register CLRINT {
        field   CLRSEQINT       0x04
        field   CLRCMDINT       0x02
        field   CLRSPLTINT      0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -222,6 +236,7 @@ register ERROR {
        field   SQPARERR        0x08
        field   ILLOPCODE       0x04
        field   DSCTMOUT        0x02
+       dont_generate_debug_code
 }
 
 /*
@@ -255,6 +270,7 @@ register HCNTRL {
        field   INTEN           0x02
        field   CHIPRST         0x01
        field   CHIPRSTACK      0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -265,6 +281,7 @@ register HNSCB_QOFF {
        access_mode     RW
        size            2
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -274,6 +291,7 @@ register HESCB_QOFF {
        address                 0x008
        access_mode     RW
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -311,6 +329,7 @@ register CLRSEQINTSTAT {
        field   CLRSEQ_SCSIINT  0x04
        field   CLRSEQ_PCIINT   0x02
        field   CLRSEQ_SPLTINT  0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -320,6 +339,7 @@ register SWTIMER {
        address                 0x00E
        access_mode     RW
        size            2
+       dont_generate_debug_code
 }
 
 /*
@@ -330,6 +350,7 @@ register SNSCB_QOFF {
        access_mode     RW
        size            2
        modes           M_CCHAN
+       dont_generate_debug_code
 }
 
 /*
@@ -340,6 +361,7 @@ register SESCB_QOFF {
        count           2
        access_mode     RW
        modes           M_CCHAN
+       dont_generate_debug_code
 }
 
 /*
@@ -350,6 +372,7 @@ register SDSCB_QOFF {
        access_mode     RW
        modes           M_CCHAN
        size            2
+       dont_generate_debug_code
 }
 
 /*
@@ -378,6 +401,7 @@ register QOFF_CTLSTA {
                SCB_QSIZE_8192,
                SCB_QSIZE_16384
        }
+       dont_generate_debug_code
 }
 
 /*
@@ -431,6 +455,7 @@ register DSCOMMAND0 {
        field   EXTREQLCK       0x10    /* External Request Lock */
        field   DISABLE_TWATE   0x02    /* Rev B or greater */
        field   CIOPARCKEN      0x01    /* Internal bus parity error enable */
+       dont_generate_debug_code
 }
 
 /*
@@ -459,6 +484,7 @@ register SG_CACHE_PRE {
        field   SG_ADDR_MASK    0xf8
        field   ODD_SEG         0x04
        field   LAST_SEG        0x02
+       dont_generate_debug_code
 }
 
 register SG_CACHE_SHADOW {
@@ -491,6 +517,7 @@ register HADDR {
        access_mode     RW
        size            8
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -522,6 +549,7 @@ register HCNT {
        access_mode     RW
        size            3
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -551,6 +579,7 @@ register SGHADDR {
        access_mode     RW
        size            8
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -561,6 +590,7 @@ register SCBHADDR {
        access_mode     RW
        size            8
        modes           M_CCHAN
+       dont_generate_debug_code
 }
 
 /*
@@ -570,6 +600,7 @@ register SGHCNT {
        address                 0x084
        access_mode     RW
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -579,6 +610,7 @@ register SCBHCNT {
        address                 0x084
        access_mode     RW
        modes           M_CCHAN
+       dont_generate_debug_code
 }
 
 /*
@@ -609,6 +641,7 @@ register DFF_THRSH {
                RD_DFTHRSH_90,
                RD_DFTHRSH_MAX
        }
+       dont_generate_debug_code
 }
 
 /*
@@ -817,6 +850,7 @@ register PCIXCTL {
        field   SRSPDPEEN       0x04
        field   TSCSERREN       0x02
        field   CMPABCDIS       0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -863,6 +897,7 @@ register DCHSPLTSTAT0 {
        field   RXOVRUN         0x04
        field   RXSCEMSG        0x02
        field   RXSPLTRSP       0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -908,6 +943,7 @@ register DCHSPLTSTAT1 {
        modes           M_DFF0, M_DFF1
        count           2
        field   RXDATABUCKET    0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1069,6 +1105,7 @@ register SGSPLTSTAT0 {
        field   RXOVRUN         0x04
        field   RXSCEMSG        0x02
        field   RXSPLTRSP       0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1080,6 +1117,7 @@ register SGSPLTSTAT1 {
        modes           M_DFF0, M_DFF1
        count           2
        field   RXDATABUCKET    0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1091,6 +1129,7 @@ register SFUNCT {
        modes           M_CFG
        field   TEST_GROUP      0xF0
        field   TEST_NUM        0x0F
+       dont_generate_debug_code
 }
 
 /*
@@ -1109,6 +1148,7 @@ register DF0PCISTAT {
        field   RDPERR          0x04
        field   TWATERR         0x02
        field   DPR             0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1204,6 +1244,7 @@ register TARGPCISTAT {
        field   SSE             0x40
        field   STA             0x08
        field   TWATERR         0x02
+       dont_generate_debug_code
 }
 
 /*
@@ -1216,6 +1257,7 @@ register LQIN {
        size            20
        count           2
        modes           M_DFF0, M_DFF1, M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -1247,6 +1289,7 @@ register LUNPTR {
        access_mode     RW
        modes           M_CFG
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -1278,6 +1321,7 @@ register CMDLENPTR {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1290,6 +1334,7 @@ register ATTRPTR {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1302,6 +1347,7 @@ register FLAGPTR {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1313,6 +1359,7 @@ register CMDPTR {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1324,6 +1371,7 @@ register QNEXTPTR {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1347,6 +1395,7 @@ register ABRTBYTEPTR {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1358,6 +1407,7 @@ register ABRTBITPTR {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1398,6 +1448,7 @@ register LUNLEN {
        count           2
        mask            ILUNLEN 0x0F
        mask            TLUNLEN 0xF0
+       dont_generate_debug_code
 }
 const LUNLEN_SINGLE_LEVEL_LUN 0xF
 
@@ -1410,6 +1461,7 @@ register CDBLIMIT {
        access_mode     RW
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -1422,6 +1474,7 @@ register MAXCMD {
        access_mode     RW
        modes           M_CFG
        count           9
+       dont_generate_debug_code
 }
 
 /*
@@ -1432,6 +1485,7 @@ register MAXCMDCNT {
        address                 0x033
        access_mode     RW
        modes           M_CFG
+       dont_generate_debug_code
 }
 
 /*
@@ -1490,6 +1544,7 @@ register LQCTL1 {
        field   PCI2PCI         0x04
        field   SINGLECMD       0x02
        field   ABORTPENDING    0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1508,6 +1563,7 @@ register LQCTL2 {
        field   LQOCONTINUE     0x04
        field   LQOTOIDLE       0x02
        field   LQOPAUSE        0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1578,6 +1634,7 @@ register SXFRCTL0 {
        field   DFPEXP          0x40
        field   BIOSCANCELEN    0x10
        field   SPIOEN          0x08
+       dont_generate_debug_code
 }
 
 /*
@@ -1594,6 +1651,7 @@ register SXFRCTL1 {
        field   ENSTIMER        0x04
        field   ACTNEGEN        0x02
        field   STPWEN          0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1696,6 +1754,7 @@ register SCSISIGO {
                P_STATUS        CDO|IOO,
                P_MESGIN        CDO|IOO|MSGO
        }
+       dont_generate_debug_code
 }
 
 /*
@@ -1738,6 +1797,7 @@ register MULTARGID {
        modes           M_CFG
        size            2
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -1774,6 +1834,7 @@ register SCSIDAT {
        access_mode     RW
        modes           M_DFF0, M_DFF1, M_SCSI
        size            2
+       dont_generate_debug_code
 }
 
 /*
@@ -1796,6 +1857,7 @@ register TARGIDIN {
        count           2
        field   CLKOUT          0x80
        field   TARGID          0x0F
+       dont_generate_debug_code
 }
 
 /*
@@ -1825,6 +1887,7 @@ register SBLKCTL {
        field   ENAB40          0x08    /* LVD transceiver active */
        field   ENAB20          0x04    /* SE/HVD transceiver active */
        field   SELWIDE         0x02
+       dont_generate_debug_code
 }
 
 /*
@@ -1842,6 +1905,7 @@ register OPTIONMODE {
        field   ENDGFORMCHK             0x04
        field   AUTO_MSGOUT_DE          0x02
        mask    OPTIONMODE_DEFAULTS     AUTO_MSGOUT_DE
+       dont_generate_debug_code
 }
 
 /*
@@ -1876,6 +1940,7 @@ register CLRSINT0 {
        field   CLROVERRUN      0x04
        field   CLRSPIORDY      0x02
        field   CLRARBDO        0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1929,6 +1994,7 @@ register CLRSINT1 {
        field   CLRSCSIPERR     0x04
        field   CLRSTRB2FAST    0x02
        field   CLRREQINIT      0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -1962,6 +2028,7 @@ register CLRSINT2 {
        field   CLRWIDE_RES     0x04    /* Modes 0 and 1 only */
        field   CLRSDONE        0x02    /* Modes 0 and 1 only */
        field   CLRDMADONE      0x01    /* Modes 0 and 1 only */
+       dont_generate_debug_code
 }
 
 /*
@@ -2002,6 +2069,7 @@ register LQISTATE {
        access_mode     RO
        modes           M_CFG
        count           6
+       dont_generate_debug_code
 }
 
 /*
@@ -2022,6 +2090,7 @@ register LQOSTATE {
        access_mode     RO
        modes           M_CFG
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -2054,6 +2123,7 @@ register CLRLQIINT0 {
        field   CLRLQIBADLQT    0x04
        field   CLRLQIATNLQ     0x02
        field   CLRLQIATNCMD    0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2070,6 +2140,7 @@ register LQIMODE0 {
        field   ENLQIBADLQT     0x04
        field   ENLQIATNLQ      0x02
        field   ENLQIATNCMD     0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2106,6 +2177,7 @@ register CLRLQIINT1 {
        field   CLRLQIBADLQI    0x04
        field   CLRLQIOVERI_LQ  0x02
        field   CLRLQIOVERI_NLQ 0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2124,6 +2196,7 @@ register LQIMODE1 {
        field   ENLQIBADLQI     0x04
        field   ENLQIOVERI_LQ   0x02    /* LQIOVERI1 */
        field   ENLQIOVERI_NLQ  0x01    /* LQIOVERI2 */
+       dont_generate_debug_code
 }
 
 /*
@@ -2165,6 +2238,7 @@ register CLRSINT3 {
        count           3
        field   CLRNTRAMPERR    0x02
        field   CLROSRAMPERR    0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2177,6 +2251,7 @@ register SIMODE3 {
        count           4
        field   ENNTRAMPERR     0x02
        field   ENOSRAMPERR     0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2207,6 +2282,7 @@ register CLRLQOINT0 {
        field   CLRLQOATNLQ             0x04
        field   CLRLQOATNPKT            0x02
        field   CLRLQOTCRC              0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2222,6 +2298,7 @@ register LQOMODE0 {
        field   ENLQOATNLQ              0x04
        field   ENLQOATNPKT             0x02
        field   ENLQOTCRC               0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2251,6 +2328,7 @@ register CLRLQOINT1 {
        field   CLRLQOBADQAS            0x04
        field   CLRLQOBUSFREE           0x02
        field   CLRLQOPHACHGINPKT       0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2266,6 +2344,7 @@ register LQOMODE1 {
        field   ENLQOBADQAS             0x04
        field   ENLQOBUSFREE            0x02
        field   ENLQOPHACHGINPKT        0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2289,6 +2368,7 @@ register OS_SPACE_CNT {
        access_mode     RO
        modes           M_CFG
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -2318,6 +2398,7 @@ register GSFIFO {
        access_mode     RO
        size            2
        modes           M_DFF0, M_DFF1, M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -2341,6 +2422,7 @@ register NEXTSCB {
        access_mode     RW
        size            2
        modes           M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -2357,6 +2439,7 @@ register LQOSCSCTL {
        field           LQOBUSETDLY     0x40
        field           LQONOHOLDLACK   0x02
        field           LQONOCHKOVER    0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2389,6 +2472,7 @@ register CLRSEQINTSRC {
        field   CLRCFG4TSTAT    0x04
        field   CLRCFG4ICMD     0x02
        field   CLRCFG4TCMD     0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2415,6 +2499,7 @@ register CURRSCB {
        access_mode     RW
        size            2
        modes           M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -2472,6 +2557,7 @@ register LASTSCB {
        access_mode     RW
        size            2
        modes           M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -2494,6 +2580,7 @@ register SHADDR {
        access_mode     RO
        size            8
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -2513,6 +2600,7 @@ register NEGOADDR {
        address                 0x060
        access_mode     RW
        modes           M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -2523,6 +2611,7 @@ register NEGPERIOD {
        access_mode     RW
        modes           M_SCSI
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -2543,6 +2632,7 @@ register NEGOFFSET {
        access_mode     RW
        modes           M_SCSI
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -2557,6 +2647,7 @@ register NEGPPROPTS {
        field   PPROPT_QAS      0x04
        field   PPROPT_DT       0x02
        field   PPROPT_IUT      0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2573,6 +2664,7 @@ register NEGCONOPTS {
        field   ENAUTOATNI      0x04
        field   ENAUTOATNO      0x02
        field   WIDEXFER        0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2583,6 +2675,7 @@ register ANNEXCOL {
        access_mode     RW
        modes           M_SCSI
        count           7
+       dont_generate_debug_code
 }
 
 /*
@@ -2602,6 +2695,7 @@ register SCSCHKN {
        field   DFFACTCLR       0x04
        field   SHVALIDSTDIS    0x02
        field   LSTSGCLRDIS     0x01
+       dont_generate_debug_code
 }
 
 const AHD_ANNEXCOL_PER_DEV0    4
@@ -2635,6 +2729,7 @@ register ANNEXDAT {
        access_mode     RW
        modes           M_SCSI
        count           3
+       dont_generate_debug_code
 }
 
 /*
@@ -2645,6 +2740,7 @@ register IOWNID {
        address                 0x067
        access_mode     RW
        modes           M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -2671,6 +2767,7 @@ register TOWNID {
        access_mode     RW
        modes           M_SCSI
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -2702,6 +2799,7 @@ register SHCNT {
        access_mode     RW
        size            3
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -2789,6 +2887,7 @@ register SCBPTR {
        access_mode     RW
        size            2
        modes           M_DFF0, M_DFF1, M_CCHAN, M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -2816,6 +2915,7 @@ register SCBAUTOPTR {
        field   AUSCBPTR_EN     0x80
        field   SCBPTR_ADDR     0x38
        field   SCBPTR_OFF      0x07
+       dont_generate_debug_code
 }
 
 /*
@@ -2825,6 +2925,7 @@ register CCSGADDR {
        address                 0x0AC
        access_mode     RW
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -2834,6 +2935,7 @@ register CCSCBADDR {
        address                 0x0AC
        access_mode     RW
        modes           M_CCHAN
+       dont_generate_debug_code
 }
 
 /*
@@ -2899,6 +3001,7 @@ register CCSGRAM {
        address                 0x0B0
        access_mode     RW
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -2908,6 +3011,7 @@ register CCSCBRAM {
        address                 0x0B0
        access_mode     RW
        modes           M_CCHAN
+       dont_generate_debug_code
 }
 
 /*
@@ -2958,6 +3062,7 @@ register BRDDAT {
        access_mode     RW
        modes           M_SCSI
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -2974,6 +3079,7 @@ register BRDCTL {
        field   BRDEN           0x04
        field   BRDRW           0x02
        field   BRDSTB          0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -2984,6 +3090,7 @@ register SEEADR {
        access_mode     RW
        modes           M_SCSI
        count           4
+       dont_generate_debug_code
 }
 
 /*
@@ -2995,6 +3102,7 @@ register SEEDAT {
        size            2
        modes           M_SCSI
        count           4
+       dont_generate_debug_code
 }
 
 /*
@@ -3011,6 +3119,7 @@ register SEESTAT {
        field   SEEARBACK       0x04
        field   SEEBUSY         0x02
        field   SEESTART        0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -3036,6 +3145,7 @@ register SEECTL {
        mask    SEEOP_EWDS      0x40
        field   SEERST          0x02
        field   SEESTART        0x01
+       dont_generate_debug_code
 }
 
 const SEEOP_ERAL_ADDR  0x80
@@ -3050,6 +3160,7 @@ register SCBCNT {
        address                 0x0BF
        access_mode     RW
        modes           M_SCSI
+       dont_generate_debug_code
 }
 
 /*
@@ -3061,6 +3172,7 @@ register DFWADDR {
        access_mode     RW
        size            2
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -3087,6 +3199,7 @@ register DSPDATACTL {
        field   DESQDIS         0x10
        field   RCVROFFSTDIS    0x04
        field   XMITOFFSTDIS    0x02
+       dont_generate_debug_code
 }
 
 /*
@@ -3132,6 +3245,7 @@ register DFDAT {
        address                 0x0C4
        access_mode     RW
        modes           M_DFF0, M_DFF1
+       dont_generate_debug_code
 }
 
 /*
@@ -3144,6 +3258,7 @@ register DSPSELECT {
        count           1
        field   AUTOINCEN       0x80
        field   DSPSEL          0x1F
+       dont_generate_debug_code
 }
 
 const NUMDSPS 0x14
@@ -3158,6 +3273,7 @@ register WRTBIASCTL {
        count           3
        field   AUTOXBCDIS      0x80
        field   XMITMANVAL      0x3F
+       dont_generate_debug_code
 }
 
 /*
@@ -3316,6 +3432,7 @@ register FLAGS {
        count           23
        field   ZERO            0x02
        field   CARRY           0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -3344,6 +3461,7 @@ register SEQRAM {
        address                 0x0DA
        access_mode     RW
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -3355,6 +3473,7 @@ register PRGMCNT {
        access_mode     RW
        size            2
        count           5
+       dont_generate_debug_code
 }
 
 /*
@@ -3364,6 +3483,7 @@ register ACCUM {
        address                 0x0E0
        access_mode     RW
        accumulator
+       dont_generate_debug_code
 }
 
 /*
@@ -3380,6 +3500,7 @@ register SINDEX   {
        access_mode     RW
        size            2
        sindex
+       dont_generate_debug_code
 }
 
 /*
@@ -3390,6 +3511,7 @@ register DINDEX {
        address                 0x0E4
        access_mode     RW
        size            2
+       dont_generate_debug_code
 }
 
 /*
@@ -3415,6 +3537,7 @@ register ALLONES {
        address                 0x0E8
        access_mode RO
        allones
+       dont_generate_debug_code
 }
 
 /*
@@ -3425,6 +3548,7 @@ register ALLZEROS {
        address                 0x0EA
        access_mode RO
        allzeros
+       dont_generate_debug_code
 }
 
 /*
@@ -3435,6 +3559,7 @@ register NONE {
        address                 0x0EA
        access_mode WO
        none
+       dont_generate_debug_code
 }
 
 /*
@@ -3445,6 +3570,7 @@ register NONE {
 register SINDIR        {
        address                 0x0EC
        access_mode RO
+       dont_generate_debug_code
 }
 
 /*
@@ -3455,6 +3581,7 @@ register SINDIR   {
 register DINDIR         {
        address                 0x0ED
        access_mode WO
+       dont_generate_debug_code
 }
 
 /*
@@ -3479,6 +3606,7 @@ register FUNCTION1 {
 register STACK {
        address                 0x0F2
        access_mode RW
+       dont_generate_debug_code
 }
 
 /*
@@ -3491,6 +3619,7 @@ register INTVEC1_ADDR {
        size            2
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -3503,6 +3632,7 @@ register CURADDR {
        size            2
        modes           M_SCSI
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -3515,6 +3645,7 @@ register INTVEC2_ADDR {
        size            2
        modes           M_CFG
        count           1
+       dont_generate_debug_code
 }
 
 /*
@@ -3543,12 +3674,14 @@ scratch_ram {
        modes   0, 1, 2, 3
        REG0 {
                size            2
+               dont_generate_debug_code
        }
        REG1 {
                size            2
        }
        REG_ISR {
                size            2
+               dont_generate_debug_code
        }
        SG_STATE {
                size            1
@@ -3572,9 +3705,11 @@ scratch_ram {
        modes   0, 1, 2, 3
        LONGJMP_ADDR {
                size            2
+               dont_generate_debug_code
        }
        ACCUM_SAVE {
                size            1
+               dont_generate_debug_code
        }
 }
 
@@ -3591,18 +3726,22 @@ scratch_ram {
         */
        WAITING_SCB_TAILS {
                size            32
+               dont_generate_debug_code
        }
        WAITING_TID_HEAD {
                size            2
+               dont_generate_debug_code
        }
        WAITING_TID_TAIL {
                size            2
+               dont_generate_debug_code
        }
        /*
         * SCBID of the next SCB in the new SCB queue.
         */
        NEXT_QUEUED_SCB_ADDR {
                size            4
+               dont_generate_debug_code
        }
        /*
         * head of list of SCBs that have
@@ -3611,6 +3750,7 @@ scratch_ram {
         */
        COMPLETE_SCB_HEAD {
                size            2
+               dont_generate_debug_code
        }
        /*
         * The list of completed SCBs in
@@ -3618,6 +3758,7 @@ scratch_ram {
         */
        COMPLETE_SCB_DMAINPROG_HEAD {
                size            2
+               dont_generate_debug_code
        }
        /*
         * head of list of SCBs that have
@@ -3626,6 +3767,7 @@ scratch_ram {
         */
        COMPLETE_DMA_SCB_HEAD {
                size            2
+               dont_generate_debug_code
        }
        /*
         * tail of list of SCBs that have
@@ -3634,6 +3776,7 @@ scratch_ram {
         */
        COMPLETE_DMA_SCB_TAIL {
                size            2
+               dont_generate_debug_code
        }
        /*
         * head of list of SCBs that have
@@ -3643,6 +3786,7 @@ scratch_ram {
         */
        COMPLETE_ON_QFREEZE_HEAD {
                size            2
+               dont_generate_debug_code
        }
        /*
         * Counting semaphore to prevent new select-outs
@@ -3667,6 +3811,7 @@ scratch_ram {
         */
        MSG_OUT {
                size            1
+               dont_generate_debug_code
        }
        /* Parameters for DMA Logic */
        DMAPARAMS {
@@ -3682,6 +3827,7 @@ scratch_ram {
                field   DIRECTION       0x04    /* Set indicates PCI->SCSI */
                field   FIFOFLUSH       0x02
                field   FIFORESET       0x01
+               dont_generate_debug_code
        }
        SEQ_FLAGS {
                size            1
@@ -3703,9 +3849,11 @@ scratch_ram {
         */
        SAVED_SCSIID {
                size            1
+               dont_generate_debug_code
        }
        SAVED_LUN {
                size            1
+               dont_generate_debug_code
        }
        /*
         * The last bus phase as seen by the sequencer. 
@@ -3733,6 +3881,7 @@ scratch_ram {
         */
        QOUTFIFO_ENTRY_VALID_TAG {
                size            1
+               dont_generate_debug_code
        }
        /*
         * Kernel and sequencer offsets into the queue of
@@ -3742,10 +3891,12 @@ scratch_ram {
        KERNEL_TQINPOS {
                size            1
                count           1
+               dont_generate_debug_code
        }
        TQINPOS {
                size            1
                count           8
+               dont_generate_debug_code
        }
        /*
         * Base address of our shared data with the kernel driver in host
@@ -3754,6 +3905,7 @@ scratch_ram {
         */
        SHARED_DATA_ADDR {
                size            4
+               dont_generate_debug_code
        }
        /*
         * Pointer to location in host memory for next
@@ -3761,6 +3913,7 @@ scratch_ram {
         */
        QOUTFIFO_NEXT_ADDR {
                size            4
+               dont_generate_debug_code
        }
        ARG_1 {
                size            1
@@ -3773,11 +3926,13 @@ scratch_ram {
                mask    CONT_MSG_LOOP_READ      0x03
                mask    CONT_MSG_LOOP_TARG      0x02
                alias   RETURN_1
+               dont_generate_debug_code
        }
        ARG_2 {
                size            1
                count           1
                alias   RETURN_2
+               dont_generate_debug_code
        }
 
        /*
@@ -3785,6 +3940,7 @@ scratch_ram {
         */
        LAST_MSG {
                size            1
+               dont_generate_debug_code
        }
 
        /*
@@ -3801,6 +3957,7 @@ scratch_ram {
                field   MANUALP         0x0C
                field   ENAUTOATNP      0x02
                field   ALTSTIM         0x01
+               dont_generate_debug_code
        }
 
        /*
@@ -3809,6 +3966,7 @@ scratch_ram {
        INITIATOR_TAG {
                size            1
                count           1
+               dont_generate_debug_code
        }
 
        SEQ_FLAGS2 {
@@ -3820,6 +3978,7 @@ scratch_ram {
 
        ALLOCFIFO_SCBPTR {
                size            2
+               dont_generate_debug_code
        }
 
        /*
@@ -3829,6 +3988,7 @@ scratch_ram {
         */
        INT_COALESCING_TIMER {
                size            2
+               dont_generate_debug_code
        }
 
        /*
@@ -3838,6 +3998,7 @@ scratch_ram {
         */
        INT_COALESCING_MAXCMDS {
                size            1
+               dont_generate_debug_code
        }
 
        /*
@@ -3846,6 +4007,7 @@ scratch_ram {
         */
        INT_COALESCING_MINCMDS {
                size            1
+               dont_generate_debug_code
        }
 
        /*
@@ -3853,6 +4015,7 @@ scratch_ram {
         */
        CMDS_PENDING {
                size            2
+               dont_generate_debug_code
        }
 
        /*
@@ -3860,6 +4023,7 @@ scratch_ram {
         */
        INT_COALESCING_CMDCOUNT {
                size            1
+               dont_generate_debug_code
        }
 
        /*
@@ -3868,6 +4032,7 @@ scratch_ram {
         */
        LOCAL_HS_MAILBOX {
                size            1
+               dont_generate_debug_code
        }
        /*
         * Target-mode CDB type to CDB length table used
@@ -3876,6 +4041,7 @@ scratch_ram {
        CMDSIZE_TABLE {
                size            8
                count           8
+               dont_generate_debug_code
        }
        /*
         * When an SCB with the MK_MESSAGE flag is
@@ -3908,25 +4074,31 @@ scb {
                size    4
                alias   SCB_CDB_STORE
                alias   SCB_HOST_CDB_PTR
+               dont_generate_debug_code
        }
        SCB_RESIDUAL_SGPTR {
                size    4
                field   SG_ADDR_MASK            0xf8    /* In the last byte */
                field   SG_OVERRUN_RESID        0x02    /* In the first byte */
                field   SG_LIST_NULL            0x01    /* In the first byte */
+               dont_generate_debug_code
        }
        SCB_SCSI_STATUS {
                size    1
                alias   SCB_HOST_CDB_LEN
+               dont_generate_debug_code
        }
        SCB_TARGET_PHASES {
                size    1
+               dont_generate_debug_code
        }
        SCB_TARGET_DATA_DIR {
                size    1
+               dont_generate_debug_code
        }
        SCB_TARGET_ITAG {
                size    1
+               dont_generate_debug_code
        }
        SCB_SENSE_BUSADDR {
                /*
@@ -3936,10 +4108,12 @@ scb {
                 */
                size    4
                alias   SCB_NEXT_COMPLETE
+               dont_generate_debug_code
        }
        SCB_TAG {
                alias   SCB_FIFO_USE_COUNT
                size    2
+               dont_generate_debug_code
        }
        SCB_CONTROL {
                size    1
@@ -3959,6 +4133,7 @@ scb {
        SCB_LUN {
                size    1
                field   LID     0xff
+               dont_generate_debug_code
        }
        SCB_TASK_ATTRIBUTE {
                size    1
@@ -3967,16 +4142,20 @@ scb {
                 * ignore wide residue message handling.
                 */
                field   SCB_XFERLEN_ODD 0x01
+               dont_generate_debug_code
        }
        SCB_CDB_LEN {
                size    1
                field   SCB_CDB_LEN_PTR 0x80    /* CDB in host memory */
+               dont_generate_debug_code
        }
        SCB_TASK_MANAGEMENT {
                size    1
+               dont_generate_debug_code
        }
        SCB_DATAPTR {
                size    8
+               dont_generate_debug_code
        }
        SCB_DATACNT {
                /*
@@ -3986,22 +4165,27 @@ scb {
                size    4
                field   SG_LAST_SEG             0x80    /* In the fourth byte */
                field   SG_HIGH_ADDR_BITS       0x7F    /* In the fourth byte */
+               dont_generate_debug_code
        }
        SCB_SGPTR {
                size    4
                field   SG_STATUS_VALID 0x04    /* In the first byte */
                field   SG_FULL_RESID   0x02    /* In the first byte */
                field   SG_LIST_NULL    0x01    /* In the first byte */
+               dont_generate_debug_code
        }
        SCB_BUSADDR {
                size    4
+               dont_generate_debug_code
        }
        SCB_NEXT {
                alias   SCB_NEXT_SCB_BUSADDR
                size    2
+               dont_generate_debug_code
        }
        SCB_NEXT2 {
                size    2
+               dont_generate_debug_code
        }
        SCB_SPARE {
                size    8
@@ -4009,6 +4193,7 @@ scb {
        }
        SCB_DISCONNECTED_LISTS {
                size    8
+               dont_generate_debug_code
        }
 }
 
index 55508b0fcec4020df71de8236e854f712a952393..bdad54ec088cc8d0dd6970c7f1cd9618859c6f6a 100644 (file)
@@ -2472,8 +2472,6 @@ ahd_handle_scsiint(struct ahd_softc *ahd, u_int intstat)
                if ((ahd->bugs & AHD_CLRLQO_AUTOCLR_BUG) != 0)
                        ahd_outb(ahd, CLRLQOINT1, 0);
        } else if ((status & SELTO) != 0) {
-               u_int  scbid;
-
                /* Stop the selection */
                ahd_outb(ahd, SCSISEQ0, 0);
 
@@ -2583,9 +2581,6 @@ ahd_handle_scsiint(struct ahd_softc *ahd, u_int intstat)
                case BUSFREE_DFF0:
                case BUSFREE_DFF1:
                {
-                       u_int   scbid;
-                       struct  scb *scb;
-
                        mode = busfreetime == BUSFREE_DFF0
                             ? AHD_MODE_DFF0 : AHD_MODE_DFF1;
                        ahd_set_modes(ahd, mode, mode);
@@ -3689,7 +3684,7 @@ ahd_free_tstate(struct ahd_softc *ahd, u_int scsi_id, char channel, int force)
  * by the capabilities of the bus connectivity of and sync settings for
  * the target.
  */
-void
+static void
 ahd_devlimited_syncrate(struct ahd_softc *ahd,
                        struct ahd_initiator_tinfo *tinfo,
                        u_int *period, u_int *ppr_options, role_t role)
@@ -4136,7 +4131,7 @@ ahd_update_neg_table(struct ahd_softc *ahd, struct ahd_devinfo *devinfo,
 
                        /*
                         * Harpoon2A assumed that there would be a
-                        * fallback rate between 160MHz and 80Mhz,
+                        * fallback rate between 160MHz and 80MHz,
                         * so 7 is used as the period factor rather
                         * than 8 for 160MHz.
                         */
@@ -8708,7 +8703,7 @@ ahd_reset_current_bus(struct ahd_softc *ahd)
 int
 ahd_reset_channel(struct ahd_softc *ahd, char channel, int initiate_reset)
 {
-       struct  ahd_devinfo devinfo;
+       struct  ahd_devinfo caminfo;
        u_int   initiator;
        u_int   target;
        u_int   max_scsiid;
@@ -8729,7 +8724,7 @@ ahd_reset_channel(struct ahd_softc *ahd, char channel, int initiate_reset)
 
        ahd->pending_device = NULL;
 
-       ahd_compile_devinfo(&devinfo,
+       ahd_compile_devinfo(&caminfo,
                            CAM_TARGET_WILDCARD,
                            CAM_TARGET_WILDCARD,
                            CAM_LUN_WILDCARD,
@@ -8868,7 +8863,7 @@ ahd_reset_channel(struct ahd_softc *ahd, char channel, int initiate_reset)
        }
 
        /* Notify the XPT that a bus reset occurred */
-       ahd_send_async(ahd, devinfo.channel, CAM_TARGET_WILDCARD,
+       ahd_send_async(ahd, caminfo.channel, CAM_TARGET_WILDCARD,
                       CAM_LUN_WILDCARD, AC_BUS_RESET);
 
        ahd_restart(ahd);
index c25b6adffbf94f50fd5684063e7add6b04984895..a734d77e880efb2430795442d2e3e4c719259946 100644 (file)
@@ -223,10 +223,10 @@ static const char *pci_bus_modes[] =
        "PCI bus mode unknown",
        "PCI bus mode unknown",
        "PCI bus mode unknown",
-       "PCI-X 101-133Mhz",
-       "PCI-X 67-100Mhz",
-       "PCI-X 50-66Mhz",
-       "PCI 33 or 66Mhz"
+       "PCI-X 101-133MHz",
+       "PCI-X 67-100MHz",
+       "PCI-X 50-66MHz",
+       "PCI 33 or 66MHz"
 };
 
 #define                TESTMODE        0x00000800ul
@@ -337,8 +337,6 @@ ahd_pci_config(struct ahd_softc *ahd, const struct ahd_pci_identity *entry)
         * 64bit bus (PCI64BIT set in devconfig).
         */
        if ((ahd->flags & (AHD_39BIT_ADDRESSING|AHD_64BIT_ADDRESSING)) != 0) {
-               uint32_t devconfig;
-
                if (bootverbose)
                        printf("%s: Enabling 39Bit Addressing\n",
                               ahd_name(ahd));
@@ -483,8 +481,6 @@ ahd_pci_test_register_access(struct ahd_softc *ahd)
                goto fail;
 
        if ((ahd_inb(ahd, INTSTAT) & PCIINT) != 0) {
-               u_int targpcistat;
-
                ahd_set_modes(ahd, AHD_MODE_CFG, AHD_MODE_CFG);
                targpcistat = ahd_inb(ahd, TARGPCISTAT);
                if ((targpcistat & STA) != 0)
index c21ceab8e9134f699af09203b6dada11acd1d132..cdcead071ef6449c337b99d1696910c319cd9b70 100644 (file)
@@ -33,13 +33,6 @@ ahd_reg_print_t ahd_seqintcode_print;
     ahd_print_register(NULL, 0, "SEQINTCODE", 0x02, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_clrint_print;
-#else
-#define ahd_clrint_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "CLRINT", 0x03, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_error_print;
 #else
@@ -47,20 +40,6 @@ ahd_reg_print_t ahd_error_print;
     ahd_print_register(NULL, 0, "ERROR", 0x04, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_hcntrl_print;
-#else
-#define ahd_hcntrl_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "HCNTRL", 0x05, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_hnscb_qoff_print;
-#else
-#define ahd_hnscb_qoff_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "HNSCB_QOFF", 0x06, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_hescb_qoff_print;
 #else
@@ -96,13 +75,6 @@ ahd_reg_print_t ahd_swtimer_print;
     ahd_print_register(NULL, 0, "SWTIMER", 0x0e, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_snscb_qoff_print;
-#else
-#define ahd_snscb_qoff_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SNSCB_QOFF", 0x10, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_sescb_qoff_print;
 #else
@@ -110,20 +82,6 @@ ahd_reg_print_t ahd_sescb_qoff_print;
     ahd_print_register(NULL, 0, "SESCB_QOFF", 0x12, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sdscb_qoff_print;
-#else
-#define ahd_sdscb_qoff_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SDSCB_QOFF", 0x14, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_qoff_ctlsta_print;
-#else
-#define ahd_qoff_ctlsta_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "QOFF_CTLSTA", 0x16, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_intctl_print;
 #else
@@ -138,13 +96,6 @@ ahd_reg_print_t ahd_dfcntrl_print;
     ahd_print_register(NULL, 0, "DFCNTRL", 0x19, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_dscommand0_print;
-#else
-#define ahd_dscommand0_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "DSCOMMAND0", 0x19, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_dfstatus_print;
 #else
@@ -159,13 +110,6 @@ ahd_reg_print_t ahd_sg_cache_shadow_print;
     ahd_print_register(NULL, 0, "SG_CACHE_SHADOW", 0x1b, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sg_cache_pre_print;
-#else
-#define ahd_sg_cache_pre_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SG_CACHE_PRE", 0x1b, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_lqin_print;
 #else
@@ -292,13 +236,6 @@ ahd_reg_print_t ahd_sxfrctl0_print;
     ahd_print_register(NULL, 0, "SXFRCTL0", 0x3c, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sxfrctl1_print;
-#else
-#define ahd_sxfrctl1_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SXFRCTL1", 0x3d, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_dffstat_print;
 #else
@@ -313,13 +250,6 @@ ahd_reg_print_t ahd_multargid_print;
     ahd_print_register(NULL, 0, "MULTARGID", 0x40, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_scsisigo_print;
-#else
-#define ahd_scsisigo_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SCSISIGO", 0x40, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_scsisigi_print;
 #else
@@ -362,13 +292,6 @@ ahd_reg_print_t ahd_selid_print;
     ahd_print_register(NULL, 0, "SELID", 0x49, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_optionmode_print;
-#else
-#define ahd_optionmode_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "OPTIONMODE", 0x4a, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_sblkctl_print;
 #else
@@ -390,13 +313,6 @@ ahd_reg_print_t ahd_simode0_print;
     ahd_print_register(NULL, 0, "SIMODE0", 0x4b, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_clrsint0_print;
-#else
-#define ahd_clrsint0_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "CLRSINT0", 0x4b, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_sstat1_print;
 #else
@@ -404,13 +320,6 @@ ahd_reg_print_t ahd_sstat1_print;
     ahd_print_register(NULL, 0, "SSTAT1", 0x4c, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_clrsint1_print;
-#else
-#define ahd_clrsint1_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "CLRSINT1", 0x4c, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_sstat2_print;
 #else
@@ -461,17 +370,17 @@ ahd_reg_print_t ahd_lqistat0_print;
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_lqimode0_print;
+ahd_reg_print_t ahd_clrlqiint0_print;
 #else
-#define ahd_lqimode0_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "LQIMODE0", 0x50, regvalue, cur_col, wrap)
+#define ahd_clrlqiint0_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "CLRLQIINT0", 0x50, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_clrlqiint0_print;
+ahd_reg_print_t ahd_lqimode0_print;
 #else
-#define ahd_clrlqiint0_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "CLRLQIINT0", 0x50, regvalue, cur_col, wrap)
+#define ahd_lqimode0_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "LQIMODE0", 0x50, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
@@ -629,17 +538,17 @@ ahd_reg_print_t ahd_seqintsrc_print;
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_seqimode_print;
+ahd_reg_print_t ahd_currscb_print;
 #else
-#define ahd_seqimode_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SEQIMODE", 0x5c, regvalue, cur_col, wrap)
+#define ahd_currscb_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "CURRSCB", 0x5c, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_currscb_print;
+ahd_reg_print_t ahd_seqimode_print;
 #else
-#define ahd_currscb_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "CURRSCB", 0x5c, regvalue, cur_col, wrap)
+#define ahd_seqimode_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "SEQIMODE", 0x5c, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
@@ -656,13 +565,6 @@ ahd_reg_print_t ahd_lastscb_print;
     ahd_print_register(NULL, 0, "LASTSCB", 0x5e, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_shaddr_print;
-#else
-#define ahd_shaddr_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SHADDR", 0x60, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_negoaddr_print;
 #else
@@ -747,27 +649,6 @@ ahd_reg_print_t ahd_seloid_print;
     ahd_print_register(NULL, 0, "SELOID", 0x6b, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_haddr_print;
-#else
-#define ahd_haddr_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "HADDR", 0x70, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_hcnt_print;
-#else
-#define ahd_hcnt_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "HCNT", 0x78, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sghaddr_print;
-#else
-#define ahd_sghaddr_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SGHADDR", 0x7c, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_scbhaddr_print;
 #else
@@ -776,10 +657,10 @@ ahd_reg_print_t ahd_scbhaddr_print;
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sghcnt_print;
+ahd_reg_print_t ahd_sghaddr_print;
 #else
-#define ahd_sghcnt_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SGHCNT", 0x84, regvalue, cur_col, wrap)
+#define ahd_sghaddr_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "SGHADDR", 0x7c, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
@@ -790,10 +671,10 @@ ahd_reg_print_t ahd_scbhcnt_print;
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_dff_thrsh_print;
+ahd_reg_print_t ahd_sghcnt_print;
 #else
-#define ahd_dff_thrsh_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "DFF_THRSH", 0x88, regvalue, cur_col, wrap)
+#define ahd_sghcnt_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "SGHCNT", 0x84, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
@@ -866,13 +747,6 @@ ahd_reg_print_t ahd_targpcistat_print;
     ahd_print_register(NULL, 0, "TARGPCISTAT", 0xa7, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_scbptr_print;
-#else
-#define ahd_scbptr_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SCBPTR", 0xa8, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_scbautoptr_print;
 #else
@@ -880,13 +754,6 @@ ahd_reg_print_t ahd_scbautoptr_print;
     ahd_print_register(NULL, 0, "SCBAUTOPTR", 0xab, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_ccsgaddr_print;
-#else
-#define ahd_ccsgaddr_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "CCSGADDR", 0xac, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_ccscbaddr_print;
 #else
@@ -908,13 +775,6 @@ ahd_reg_print_t ahd_ccsgctl_print;
     ahd_print_register(NULL, 0, "CCSGCTL", 0xad, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_ccsgram_print;
-#else
-#define ahd_ccsgram_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "CCSGRAM", 0xb0, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_ccscbram_print;
 #else
@@ -929,13 +789,6 @@ ahd_reg_print_t ahd_brddat_print;
     ahd_print_register(NULL, 0, "BRDDAT", 0xb8, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_brdctl_print;
-#else
-#define ahd_brdctl_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "BRDCTL", 0xb9, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_seeadr_print;
 #else
@@ -971,13 +824,6 @@ ahd_reg_print_t ahd_dspdatactl_print;
     ahd_print_register(NULL, 0, "DSPDATACTL", 0xc1, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_dfdat_print;
-#else
-#define ahd_dfdat_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "DFDAT", 0xc4, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_dspselect_print;
 #else
@@ -999,13 +845,6 @@ ahd_reg_print_t ahd_seqctl0_print;
     ahd_print_register(NULL, 0, "SEQCTL0", 0xd6, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_flags_print;
-#else
-#define ahd_flags_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "FLAGS", 0xd8, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_seqintctl_print;
 #else
@@ -1013,13 +852,6 @@ ahd_reg_print_t ahd_seqintctl_print;
     ahd_print_register(NULL, 0, "SEQINTCTL", 0xd9, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_seqram_print;
-#else
-#define ahd_seqram_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SEQRAM", 0xda, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_prgmcnt_print;
 #else
@@ -1027,41 +859,6 @@ ahd_reg_print_t ahd_prgmcnt_print;
     ahd_print_register(NULL, 0, "PRGMCNT", 0xde, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_accum_print;
-#else
-#define ahd_accum_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "ACCUM", 0xe0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sindex_print;
-#else
-#define ahd_sindex_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SINDEX", 0xe2, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_dindex_print;
-#else
-#define ahd_dindex_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "DINDEX", 0xe4, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_allones_print;
-#else
-#define ahd_allones_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "ALLONES", 0xe8, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_allzeros_print;
-#else
-#define ahd_allzeros_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "ALLZEROS", 0xea, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_none_print;
 #else
@@ -1069,27 +866,6 @@ ahd_reg_print_t ahd_none_print;
     ahd_print_register(NULL, 0, "NONE", 0xea, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sindir_print;
-#else
-#define ahd_sindir_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SINDIR", 0xec, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_dindir_print;
-#else
-#define ahd_dindir_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "DINDIR", 0xed, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_stack_print;
-#else
-#define ahd_stack_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "STACK", 0xf2, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_intvec1_addr_print;
 #else
@@ -1126,17 +902,17 @@ ahd_reg_print_t ahd_accum_save_print;
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_sram_base_print;
+ahd_reg_print_t ahd_waiting_scb_tails_print;
 #else
-#define ahd_sram_base_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SRAM_BASE", 0x100, regvalue, cur_col, wrap)
+#define ahd_waiting_scb_tails_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "WAITING_SCB_TAILS", 0x100, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_waiting_scb_tails_print;
+ahd_reg_print_t ahd_sram_base_print;
 #else
-#define ahd_waiting_scb_tails_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "WAITING_SCB_TAILS", 0x100, regvalue, cur_col, wrap)
+#define ahd_sram_base_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "SRAM_BASE", 0x100, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
@@ -1223,13 +999,6 @@ ahd_reg_print_t ahd_msg_out_print;
     ahd_print_register(NULL, 0, "MSG_OUT", 0x137, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_dmaparams_print;
-#else
-#define ahd_dmaparams_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "DMAPARAMS", 0x138, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_seq_flags_print;
 #else
@@ -1237,20 +1006,6 @@ ahd_reg_print_t ahd_seq_flags_print;
     ahd_print_register(NULL, 0, "SEQ_FLAGS", 0x139, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_saved_scsiid_print;
-#else
-#define ahd_saved_scsiid_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SAVED_SCSIID", 0x13a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_saved_lun_print;
-#else
-#define ahd_saved_lun_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SAVED_LUN", 0x13b, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_lastphase_print;
 #else
@@ -1272,20 +1027,6 @@ ahd_reg_print_t ahd_kernel_tqinpos_print;
     ahd_print_register(NULL, 0, "KERNEL_TQINPOS", 0x13e, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_tqinpos_print;
-#else
-#define ahd_tqinpos_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "TQINPOS", 0x13f, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_shared_data_addr_print;
-#else
-#define ahd_shared_data_addr_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SHARED_DATA_ADDR", 0x140, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_qoutfifo_next_addr_print;
 #else
@@ -1293,20 +1034,6 @@ ahd_reg_print_t ahd_qoutfifo_next_addr_print;
     ahd_print_register(NULL, 0, "QOUTFIFO_NEXT_ADDR", 0x144, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_arg_1_print;
-#else
-#define ahd_arg_1_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "ARG_1", 0x148, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_arg_2_print;
-#else
-#define ahd_arg_2_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "ARG_2", 0x149, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_last_msg_print;
 #else
@@ -1405,13 +1132,6 @@ ahd_reg_print_t ahd_mk_message_scsiid_print;
     ahd_print_register(NULL, 0, "MK_MESSAGE_SCSIID", 0x162, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_scb_residual_datacnt_print;
-#else
-#define ahd_scb_residual_datacnt_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT", 0x180, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_scb_base_print;
 #else
@@ -1420,17 +1140,10 @@ ahd_reg_print_t ahd_scb_base_print;
 #endif
 
 #if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_scb_residual_sgptr_print;
-#else
-#define ahd_scb_residual_sgptr_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SCB_RESIDUAL_SGPTR", 0x184, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_scb_scsi_status_print;
+ahd_reg_print_t ahd_scb_residual_datacnt_print;
 #else
-#define ahd_scb_scsi_status_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SCB_SCSI_STATUS", 0x188, regvalue, cur_col, wrap)
+#define ahd_scb_residual_datacnt_print(regvalue, cur_col, wrap) \
+    ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT", 0x180, regvalue, cur_col, wrap)
 #endif
 
 #if AIC_DEBUG_REGISTERS
@@ -1475,13 +1188,6 @@ ahd_reg_print_t ahd_scb_task_attribute_print;
     ahd_print_register(NULL, 0, "SCB_TASK_ATTRIBUTE", 0x195, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_scb_cdb_len_print;
-#else
-#define ahd_scb_cdb_len_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SCB_CDB_LEN", 0x196, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_scb_task_management_print;
 #else
@@ -1517,13 +1223,6 @@ ahd_reg_print_t ahd_scb_busaddr_print;
     ahd_print_register(NULL, 0, "SCB_BUSADDR", 0x1a8, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahd_reg_print_t ahd_scb_next_print;
-#else
-#define ahd_scb_next_print(regvalue, cur_col, wrap) \
-    ahd_print_register(NULL, 0, "SCB_NEXT", 0x1ac, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahd_reg_print_t ahd_scb_next2_print;
 #else
@@ -1717,10 +1416,10 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        SG_CACHE_PRE                    0x1b
 
-#define        TYPEPTR                         0x20
-
 #define        LQIN                            0x20
 
+#define        TYPEPTR                         0x20
+
 #define        TAGPTR                          0x21
 
 #define        LUNPTR                          0x22
@@ -1780,6 +1479,14 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                SINGLECMD               0x02
 #define                ABORTPENDING            0x01
 
+#define        SCSBIST0                        0x39
+#define                GSBISTERR               0x40
+#define                GSBISTDONE              0x20
+#define                GSBISTRUN               0x10
+#define                OSBISTERR               0x04
+#define                OSBISTDONE              0x02
+#define                OSBISTRUN               0x01
+
 #define        LQCTL2                          0x39
 #define                LQIRETRY                0x80
 #define                LQICONTINUE             0x40
@@ -1790,13 +1497,10 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                LQOTOIDLE               0x02
 #define                LQOPAUSE                0x01
 
-#define        SCSBIST0                        0x39
-#define                GSBISTERR               0x40
-#define                GSBISTDONE              0x20
-#define                GSBISTRUN               0x10
-#define                OSBISTERR               0x04
-#define                OSBISTDONE              0x02
-#define                OSBISTRUN               0x01
+#define        SCSBIST1                        0x3a
+#define                NTBISTERR               0x04
+#define                NTBISTDONE              0x02
+#define                NTBISTRUN               0x01
 
 #define        SCSISEQ0                        0x3a
 #define                TEMODEO                 0x80
@@ -1805,15 +1509,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                FORCEBUSFREE            0x10
 #define                SCSIRSTO                0x01
 
-#define        SCSBIST1                        0x3a
-#define                NTBISTERR               0x04
-#define                NTBISTDONE              0x02
-#define                NTBISTRUN               0x01
-
 #define        SCSISEQ1                        0x3b
 
-#define        BUSINITID                       0x3c
-
 #define        SXFRCTL0                        0x3c
 #define                DFON                    0x80
 #define                DFPEXP                  0x40
@@ -1822,6 +1519,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        DLCOUNT                         0x3c
 
+#define        BUSINITID                       0x3c
+
 #define        SXFRCTL1                        0x3d
 #define                BITBUCKET               0x80
 #define                ENSACHK                 0x40
@@ -1846,8 +1545,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                CURRFIFO_1              0x01
 #define                CURRFIFO_0              0x00
 
-#define        MULTARGID                       0x40
-
 #define        SCSISIGO                        0x40
 #define                CDO                     0x80
 #define                IOO                     0x40
@@ -1858,6 +1555,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                REQO                    0x02
 #define                ACKO                    0x01
 
+#define        MULTARGID                       0x40
+
 #define        SCSISIGI                        0x41
 #define                ATNI                    0x10
 #define                SELI                    0x08
@@ -1904,6 +1603,15 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                ENAB20                  0x04
 #define                SELWIDE                 0x02
 
+#define        CLRSINT0                        0x4b
+#define                CLRSELDO                0x40
+#define                CLRSELDI                0x20
+#define                CLRSELINGO              0x10
+#define                CLRIOERR                0x08
+#define                CLROVERRUN              0x04
+#define                CLRSPIORDY              0x02
+#define                CLRARBDO                0x01
+
 #define        SSTAT0                          0x4b
 #define                TARGET                  0x80
 #define                SELDO                   0x40
@@ -1923,14 +1631,14 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                ENSPIORDY               0x02
 #define                ENARBDO                 0x01
 
-#define        CLRSINT0                        0x4b
-#define                CLRSELDO                0x40
-#define                CLRSELDI                0x20
-#define                CLRSELINGO              0x10
-#define                CLRIOERR                0x08
-#define                CLROVERRUN              0x04
-#define                CLRSPIORDY              0x02
-#define                CLRARBDO                0x01
+#define        CLRSINT1                        0x4c
+#define                CLRSELTIMEO             0x80
+#define                CLRATNO                 0x40
+#define                CLRSCSIRSTI             0x20
+#define                CLRBUSFREE              0x08
+#define                CLRSCSIPERR             0x04
+#define                CLRSTRB2FAST            0x02
+#define                CLRREQINIT              0x01
 
 #define        SSTAT1                          0x4c
 #define                SELTO                   0x80
@@ -1942,15 +1650,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                STRB2FAST               0x02
 #define                REQINIT                 0x01
 
-#define        CLRSINT1                        0x4c
-#define                CLRSELTIMEO             0x80
-#define                CLRATNO                 0x40
-#define                CLRSCSIRSTI             0x20
-#define                CLRBUSFREE              0x08
-#define                CLRSCSIPERR             0x04
-#define                CLRSTRB2FAST            0x02
-#define                CLRREQINIT              0x01
-
 #define        SSTAT2                          0x4d
 #define                BUSFREETIME             0xc0
 #define                NONPACKREQ              0x20
@@ -1998,14 +1697,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                LQIATNLQ                0x02
 #define                LQIATNCMD               0x01
 
-#define        LQIMODE0                        0x50
-#define                ENLQIATNQASK            0x20
-#define                ENLQICRCT1              0x10
-#define                ENLQICRCT2              0x08
-#define                ENLQIBADLQT             0x04
-#define                ENLQIATNLQ              0x02
-#define                ENLQIATNCMD             0x01
-
 #define        CLRLQIINT0                      0x50
 #define                CLRLQIATNQAS            0x20
 #define                CLRLQICRCT1             0x10
@@ -2014,6 +1705,14 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                CLRLQIATNLQ             0x02
 #define                CLRLQIATNCMD            0x01
 
+#define        LQIMODE0                        0x50
+#define                ENLQIATNQASK            0x20
+#define                ENLQICRCT1              0x10
+#define                ENLQICRCT2              0x08
+#define                ENLQIBADLQT             0x04
+#define                ENLQIATNLQ              0x02
+#define                ENLQIATNCMD             0x01
+
 #define        LQIMODE1                        0x51
 #define                ENLQIPHASE_LQ           0x80
 #define                ENLQIPHASE_NLQ          0x40
@@ -2160,6 +1859,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                CFG4ICMD                0x02
 #define                CFG4TCMD                0x01
 
+#define        CURRSCB                         0x5c
+
 #define        SEQIMODE                        0x5c
 #define                ENCTXTDONE              0x40
 #define                ENSAVEPTRS              0x20
@@ -2169,8 +1870,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                ENCFG4ICMD              0x02
 #define                ENCFG4TCMD              0x01
 
-#define        CURRSCB                         0x5c
-
 #define        MDFFSTAT                        0x5d
 #define                SHCNTNEGATIVE           0x40
 #define                SHCNTMINUS1             0x20
@@ -2185,29 +1884,29 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        DFFTAG                          0x5e
 
+#define        LASTSCB                         0x5e
+
 #define        SCSITEST                        0x5e
 #define                CNTRTEST                0x08
 #define                SEL_TXPLL_DEBUG         0x04
 
-#define        LASTSCB                         0x5e
-
 #define        IOPDNCTL                        0x5f
 #define                DISABLE_OE              0x80
 #define                PDN_IDIST               0x04
 #define                PDN_DIFFSENSE           0x01
 
-#define        DGRPCRCI                        0x60
-
 #define        SHADDR                          0x60
 
 #define        NEGOADDR                        0x60
 
-#define        NEGPERIOD                       0x61
+#define        DGRPCRCI                        0x60
 
-#define        NEGOFFSET                       0x62
+#define        NEGPERIOD                       0x61
 
 #define        PACKCRCI                        0x62
 
+#define        NEGOFFSET                       0x62
+
 #define        NEGPPROPTS                      0x63
 #define                PPROPT_PACE             0x08
 #define                PPROPT_QAS              0x04
@@ -2253,8 +1952,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        SELOID                          0x6b
 
-#define        FAIRNESS                        0x6c
-
 #define        PLL400CTL0                      0x6c
 #define                PLL_VCOSEL              0x80
 #define                PLL_PWDN                0x40
@@ -2264,6 +1961,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                PLL_DLPF                0x02
 #define                PLL_ENFBM               0x01
 
+#define        FAIRNESS                        0x6c
+
 #define        PLL400CTL1                      0x6d
 #define                PLL_CNTEN               0x80
 #define                PLL_CNTCLR              0x40
@@ -2275,25 +1974,25 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        HADDR                           0x70
 
-#define        HODMAADR                        0x70
-
 #define        PLLDELAY                        0x70
 #define                SPLIT_DROP_REQ          0x80
 
-#define        HCNT                            0x78
+#define        HODMAADR                        0x70
 
 #define        HODMACNT                        0x78
 
-#define        HODMAEN                         0x7a
+#define        HCNT                            0x78
 
-#define        SGHADDR                         0x7c
+#define        HODMAEN                         0x7a
 
 #define        SCBHADDR                        0x7c
 
-#define        SGHCNT                          0x84
+#define        SGHADDR                         0x7c
 
 #define        SCBHCNT                         0x84
 
+#define        SGHCNT                          0x84
+
 #define        DFF_THRSH                       0x88
 #define                WR_DFTHRSH              0x70
 #define                RD_DFTHRSH              0x07
@@ -2326,10 +2025,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        CMCRXMSG0                       0x90
 
-#define        OVLYRXMSG0                      0x90
-
-#define        DCHRXMSG0                       0x90
-
 #define        ROENABLE                        0x90
 #define                MSIROEN                 0x20
 #define                OVLYROEN                0x10
@@ -2338,11 +2033,11 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                DCH1ROEN                0x02
 #define                DCH0ROEN                0x01
 
-#define        OVLYRXMSG1                      0x91
+#define        OVLYRXMSG0                      0x90
 
-#define        CMCRXMSG1                       0x91
+#define        DCHRXMSG0                       0x90
 
-#define        DCHRXMSG1                       0x91
+#define        OVLYRXMSG1                      0x91
 
 #define        NSENABLE                        0x91
 #define                MSINSEN                 0x20
@@ -2352,6 +2047,10 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                DCH1NSEN                0x02
 #define                DCH0NSEN                0x01
 
+#define        CMCRXMSG1                       0x91
+
+#define        DCHRXMSG1                       0x91
+
 #define        DCHRXMSG2                       0x92
 
 #define        CMCRXMSG2                       0x92
@@ -2375,24 +2074,24 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                TSCSERREN               0x02
 #define                CMPABCDIS               0x01
 
-#define        CMCSEQBCNT                      0x94
-
 #define        OVLYSEQBCNT                     0x94
 
 #define        DCHSEQBCNT                      0x94
 
+#define        CMCSEQBCNT                      0x94
+
+#define        CMCSPLTSTAT0                    0x96
+
 #define        DCHSPLTSTAT0                    0x96
 
 #define        OVLYSPLTSTAT0                   0x96
 
-#define        CMCSPLTSTAT0                    0x96
+#define        CMCSPLTSTAT1                    0x97
 
 #define        OVLYSPLTSTAT1                   0x97
 
 #define        DCHSPLTSTAT1                    0x97
 
-#define        CMCSPLTSTAT1                    0x97
-
 #define        SGRXMSG0                        0x98
 #define                CDNUM                   0xf8
 #define                CFNUM                   0x07
@@ -2420,15 +2119,18 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                TAG_NUM                 0x1f
 #define                RLXORD                  0x10
 
+#define        SGSEQBCNT                       0x9c
+
 #define        SLVSPLTOUTATTR0                 0x9c
 #define                LOWER_BCNT              0xff
 
-#define        SGSEQBCNT                       0x9c
-
 #define        SLVSPLTOUTATTR1                 0x9d
 #define                CMPLT_DNUM              0xf8
 #define                CMPLT_FNUM              0x07
 
+#define        SLVSPLTOUTATTR2                 0x9e
+#define                CMPLT_BNUM              0xff
+
 #define        SGSPLTSTAT0                     0x9e
 #define                STAETERM                0x80
 #define                SCBCERR                 0x40
@@ -2439,9 +2141,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                RXSCEMSG                0x02
 #define                RXSPLTRSP               0x01
 
-#define        SLVSPLTOUTATTR2                 0x9e
-#define                CMPLT_BNUM              0xff
-
 #define        SGSPLTSTAT1                     0x9f
 #define                RXDATABUCKET            0x01
 
@@ -2497,10 +2196,10 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        CCSGADDR                        0xac
 
-#define        CCSCBADDR                       0xac
-
 #define        CCSCBADR_BK                     0xac
 
+#define        CCSCBADDR                       0xac
+
 #define        CMC_RAMBIST                     0xad
 #define                SG_ELEMENT_SIZE         0x80
 #define                SCBRAMBIST_FAIL         0x40
@@ -2554,9 +2253,9 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define        SEEDAT                          0xbc
 
 #define        SEECTL                          0xbe
-#define                SEEOP_EWDS              0x40
 #define                SEEOP_WALL              0x40
 #define                SEEOP_EWEN              0x40
+#define                SEEOP_EWDS              0x40
 #define                SEEOPCODE               0x70
 #define                SEERST                  0x02
 #define                SEESTART                0x01
@@ -2573,25 +2272,25 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        SCBCNT                          0xbf
 
+#define        DFWADDR                         0xc0
+
 #define        DSPFLTRCTL                      0xc0
 #define                FLTRDISABLE             0x20
 #define                EDGESENSE               0x10
 #define                DSPFCNTSEL              0x0f
 
-#define        DFWADDR                         0xc0
-
 #define        DSPDATACTL                      0xc1
 #define                BYPASSENAB              0x80
 #define                DESQDIS                 0x10
 #define                RCVROFFSTDIS            0x04
 #define                XMITOFFSTDIS            0x02
 
+#define        DFRADDR                         0xc2
+
 #define        DSPREQCTL                       0xc2
 #define                MANREQCTL               0xc0
 #define                MANREQDLY               0x3f
 
-#define        DFRADDR                         0xc2
-
 #define        DSPACKCTL                       0xc3
 #define                MANACKCTL               0xc0
 #define                MANACKDLY               0x3f
@@ -2612,14 +2311,14 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        WRTBIASCALC                     0xc7
 
-#define        DFPTRS                          0xc8
-
 #define        RCVRBIASCALC                    0xc8
 
-#define        DFBKPTR                         0xc9
+#define        DFPTRS                          0xc8
 
 #define        SKEWCALC                        0xc9
 
+#define        DFBKPTR                         0xc9
+
 #define        DFDBCTL                         0xcb
 #define                DFF_CIO_WR_RDY          0x20
 #define                DFF_CIO_RD_RDY          0x10
@@ -2704,12 +2403,12 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        ACCUM_SAVE                      0xfa
 
+#define        WAITING_SCB_TAILS               0x100
+
 #define        AHD_PCI_CONFIG_BASE             0x100
 
 #define        SRAM_BASE                       0x100
 
-#define        WAITING_SCB_TAILS               0x100
-
 #define        WAITING_TID_HEAD                0x120
 
 #define        WAITING_TID_TAIL                0x122
@@ -2738,8 +2437,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define                PRELOADEN               0x80
 #define                WIDEODD                 0x40
 #define                SCSIEN                  0x20
-#define                SDMAENACK               0x10
 #define                SDMAEN                  0x10
+#define                SDMAENACK               0x10
 #define                HDMAEN                  0x08
 #define                HDMAENACK               0x08
 #define                DIRECTION               0x04
@@ -2837,12 +2536,12 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 
 #define        MK_MESSAGE_SCSIID               0x162
 
+#define        SCB_BASE                        0x180
+
 #define        SCB_RESIDUAL_DATACNT            0x180
 #define        SCB_CDB_STORE                   0x180
 #define        SCB_HOST_CDB_PTR                0x180
 
-#define        SCB_BASE                        0x180
-
 #define        SCB_RESIDUAL_SGPTR              0x184
 #define                SG_ADDR_MASK            0xf8
 #define                SG_OVERRUN_RESID        0x02
@@ -2910,17 +2609,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define        SCB_DISCONNECTED_LISTS          0x1b8
 
 
-#define        CMD_GROUP_CODE_SHIFT    0x05
-#define        STIMESEL_MIN    0x18
-#define        STIMESEL_SHIFT  0x03
-#define        INVALID_ADDR    0x80
-#define        AHD_PRECOMP_MASK        0x07
-#define        TARGET_DATA_IN  0x01
-#define        CCSCBADDR_MAX   0x80
-#define        NUMDSPS         0x14
-#define        SEEOP_EWEN_ADDR 0xc0
-#define        AHD_ANNEXCOL_PER_DEV0   0x04
-#define        DST_MODE_SHIFT  0x04
 #define        AHD_TIMER_MAX_US        0x18ffe7
 #define        AHD_TIMER_MAX_TICKS     0xffff
 #define        AHD_SENSE_BUFSIZE       0x100
@@ -2955,32 +2643,43 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
 #define        LUNLEN_SINGLE_LEVEL_LUN 0x0f
 #define        NVRAM_SCB_OFFSET        0x2c
 #define        STATUS_PKT_SENSE        0xff
+#define        CMD_GROUP_CODE_SHIFT    0x05
 #define        MAX_OFFSET_PACED_BUG    0x7f
 #define        STIMESEL_BUG_ADJ        0x08
+#define        STIMESEL_MIN    0x18
+#define        STIMESEL_SHIFT  0x03
 #define        CCSGRAM_MAXSEGS 0x10
+#define        INVALID_ADDR    0x80
 #define        SEEOP_ERAL_ADDR 0x80
 #define        AHD_SLEWRATE_DEF_REVB   0x08
 #define        AHD_PRECOMP_CUTBACK_17  0x04
+#define        AHD_PRECOMP_MASK        0x07
 #define        SRC_MODE_SHIFT  0x00
 #define        PKT_OVERRUN_BUFSIZE     0x200
 #define        SCB_TRANSFER_SIZE_1BYTE_LUN     0x30
+#define        TARGET_DATA_IN  0x01
 #define        HOST_MSG        0xff
 #define        MAX_OFFSET      0xfe
 #define        BUS_16_BIT      0x01
+#define        CCSCBADDR_MAX   0x80
+#define        NUMDSPS         0x14
+#define        SEEOP_EWEN_ADDR 0xc0
+#define        AHD_ANNEXCOL_PER_DEV0   0x04
+#define        DST_MODE_SHIFT  0x04
 
 
 /* Downloaded Constant Definitions */
-#define        SG_SIZEOF       0x04
-#define        SG_PREFETCH_ALIGN_MASK  0x02
-#define        SG_PREFETCH_CNT_LIMIT   0x01
 #define        CACHELINE_MASK  0x07
 #define        SCB_TRANSFER_SIZE       0x06
 #define        PKT_OVERRUN_BUFOFFSET   0x05
+#define        SG_SIZEOF       0x04
 #define        SG_PREFETCH_ADDR_MASK   0x03
+#define        SG_PREFETCH_ALIGN_MASK  0x02
+#define        SG_PREFETCH_CNT_LIMIT   0x01
 #define        SG_PREFETCH_CNT 0x00
 #define        DOWNLOAD_CONST_COUNT    0x08
 
 
 /* Exported Labels */
-#define        LABEL_timer_isr 0x28b
 #define        LABEL_seq_isr   0x28f
+#define        LABEL_timer_isr 0x28b
index c4c8a96bf5a36b53003f8ce15549760f94dfd134..f5ea715d6ac33af433688a62669506ebb67303cf 100644 (file)
@@ -8,18 +8,6 @@
 
 #include "aic79xx_osm.h"
 
-static const ahd_reg_parse_entry_t MODE_PTR_parse_table[] = {
-       { "SRC_MODE",           0x07, 0x07 },
-       { "DST_MODE",           0x70, 0x70 }
-};
-
-int
-ahd_mode_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(MODE_PTR_parse_table, 2, "MODE_PTR",
-           0x00, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t INTSTAT_parse_table[] = {
        { "SPLTINT",            0x01, 0x01 },
        { "CMDCMPLT",           0x02, 0x02 },
@@ -39,110 +27,6 @@ ahd_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x01, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SEQINTCODE_parse_table[] = {
-       { "NO_SEQINT",          0x00, 0xff },
-       { "BAD_PHASE",          0x01, 0xff },
-       { "SEND_REJECT",        0x02, 0xff },
-       { "PROTO_VIOLATION",    0x03, 0xff },
-       { "NO_MATCH",           0x04, 0xff },
-       { "IGN_WIDE_RES",       0x05, 0xff },
-       { "PDATA_REINIT",       0x06, 0xff },
-       { "HOST_MSG_LOOP",      0x07, 0xff },
-       { "BAD_STATUS",         0x08, 0xff },
-       { "DATA_OVERRUN",       0x09, 0xff },
-       { "MKMSG_FAILED",       0x0a, 0xff },
-       { "MISSED_BUSFREE",     0x0b, 0xff },
-       { "DUMP_CARD_STATE",    0x0c, 0xff },
-       { "ILLEGAL_PHASE",      0x0d, 0xff },
-       { "INVALID_SEQINT",     0x0e, 0xff },
-       { "CFG4ISTAT_INTR",     0x0f, 0xff },
-       { "STATUS_OVERRUN",     0x10, 0xff },
-       { "CFG4OVERRUN",        0x11, 0xff },
-       { "ENTERING_NONPACK",   0x12, 0xff },
-       { "TASKMGMT_FUNC_COMPLETE",0x13, 0xff },
-       { "TASKMGMT_CMD_CMPLT_OKAY",0x14, 0xff },
-       { "TRACEPOINT0",        0x15, 0xff },
-       { "TRACEPOINT1",        0x16, 0xff },
-       { "TRACEPOINT2",        0x17, 0xff },
-       { "TRACEPOINT3",        0x18, 0xff },
-       { "SAW_HWERR",          0x19, 0xff },
-       { "BAD_SCB_STATUS",     0x1a, 0xff }
-};
-
-int
-ahd_seqintcode_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SEQINTCODE_parse_table, 27, "SEQINTCODE",
-           0x02, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t CLRINT_parse_table[] = {
-       { "CLRSPLTINT",         0x01, 0x01 },
-       { "CLRCMDINT",          0x02, 0x02 },
-       { "CLRSEQINT",          0x04, 0x04 },
-       { "CLRSCSIINT",         0x08, 0x08 },
-       { "CLRPCIINT",          0x10, 0x10 },
-       { "CLRSWTMINT",         0x20, 0x20 },
-       { "CLRBRKADRINT",       0x40, 0x40 },
-       { "CLRHWERRINT",        0x80, 0x80 }
-};
-
-int
-ahd_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRINT_parse_table, 8, "CLRINT",
-           0x03, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t ERROR_parse_table[] = {
-       { "DSCTMOUT",           0x02, 0x02 },
-       { "ILLOPCODE",          0x04, 0x04 },
-       { "SQPARERR",           0x08, 0x08 },
-       { "DPARERR",            0x10, 0x10 },
-       { "MPARERR",            0x20, 0x20 },
-       { "CIOACCESFAIL",       0x40, 0x40 },
-       { "CIOPARERR",          0x80, 0x80 }
-};
-
-int
-ahd_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(ERROR_parse_table, 7, "ERROR",
-           0x04, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t HCNTRL_parse_table[] = {
-       { "CHIPRST",            0x01, 0x01 },
-       { "CHIPRSTACK",         0x01, 0x01 },
-       { "INTEN",              0x02, 0x02 },
-       { "PAUSE",              0x04, 0x04 },
-       { "SWTIMER_START_B",    0x08, 0x08 },
-       { "SWINT",              0x10, 0x10 },
-       { "POWRDN",             0x40, 0x40 },
-       { "SEQ_RESET",          0x80, 0x80 }
-};
-
-int
-ahd_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(HCNTRL_parse_table, 8, "HCNTRL",
-           0x05, regvalue, cur_col, wrap));
-}
-
-int
-ahd_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "HNSCB_QOFF",
-           0x06, regvalue, cur_col, wrap));
-}
-
-int
-ahd_hescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "HESCB_QOFF",
-           0x08, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
        { "ENINT_COALESCE",     0x40, 0x40 },
        { "HOST_TQINPOS",       0x80, 0x80 }
@@ -170,77 +54,6 @@ ahd_seqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x0c, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t CLRSEQINTSTAT_parse_table[] = {
-       { "CLRSEQ_SPLTINT",     0x01, 0x01 },
-       { "CLRSEQ_PCIINT",      0x02, 0x02 },
-       { "CLRSEQ_SCSIINT",     0x04, 0x04 },
-       { "CLRSEQ_SEQINT",      0x08, 0x08 },
-       { "CLRSEQ_SWTMRTO",     0x10, 0x10 }
-};
-
-int
-ahd_clrseqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRSEQINTSTAT_parse_table, 5, "CLRSEQINTSTAT",
-           0x0c, regvalue, cur_col, wrap));
-}
-
-int
-ahd_swtimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SWTIMER",
-           0x0e, regvalue, cur_col, wrap));
-}
-
-int
-ahd_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SNSCB_QOFF",
-           0x10, regvalue, cur_col, wrap));
-}
-
-int
-ahd_sescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SESCB_QOFF",
-           0x12, regvalue, cur_col, wrap));
-}
-
-int
-ahd_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SDSCB_QOFF",
-           0x14, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
-       { "SCB_QSIZE_4",        0x00, 0x0f },
-       { "SCB_QSIZE_8",        0x01, 0x0f },
-       { "SCB_QSIZE_16",       0x02, 0x0f },
-       { "SCB_QSIZE_32",       0x03, 0x0f },
-       { "SCB_QSIZE_64",       0x04, 0x0f },
-       { "SCB_QSIZE_128",      0x05, 0x0f },
-       { "SCB_QSIZE_256",      0x06, 0x0f },
-       { "SCB_QSIZE_512",      0x07, 0x0f },
-       { "SCB_QSIZE_1024",     0x08, 0x0f },
-       { "SCB_QSIZE_2048",     0x09, 0x0f },
-       { "SCB_QSIZE_4096",     0x0a, 0x0f },
-       { "SCB_QSIZE_8192",     0x0b, 0x0f },
-       { "SCB_QSIZE_16384",    0x0c, 0x0f },
-       { "SCB_QSIZE",          0x0f, 0x0f },
-       { "HS_MAILBOX_ACT",     0x10, 0x10 },
-       { "SDSCB_ROLLOVR",      0x20, 0x20 },
-       { "NEW_SCB_AVAIL",      0x40, 0x40 },
-       { "EMPTY_SCB_AVAIL",    0x80, 0x80 }
-};
-
-int
-ahd_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(QOFF_CTLSTA_parse_table, 18, "QOFF_CTLSTA",
-           0x16, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t INTCTL_parse_table[] = {
        { "SPLTINTEN",          0x01, 0x01 },
        { "SEQINTEN",           0x02, 0x02 },
@@ -280,22 +93,6 @@ ahd_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x19, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
-       { "CIOPARCKEN",         0x01, 0x01 },
-       { "DISABLE_TWATE",      0x02, 0x02 },
-       { "EXTREQLCK",          0x10, 0x10 },
-       { "MPARCKEN",           0x20, 0x20 },
-       { "DPARCKEN",           0x40, 0x40 },
-       { "CACHETHEN",          0x80, 0x80 }
-};
-
-int
-ahd_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(DSCOMMAND0_parse_table, 6, "DSCOMMAND0",
-           0x19, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t DFSTATUS_parse_table[] = {
        { "FIFOEMP",            0x01, 0x01 },
        { "FIFOFULL",           0x02, 0x02 },
@@ -327,146 +124,6 @@ ahd_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x1b, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
-       { "LAST_SEG",           0x02, 0x02 },
-       { "ODD_SEG",            0x04, 0x04 },
-       { "SG_ADDR_MASK",       0xf8, 0xf8 }
-};
-
-int
-ahd_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
-           0x1b, regvalue, cur_col, wrap));
-}
-
-int
-ahd_lqin_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LQIN",
-           0x20, regvalue, cur_col, wrap));
-}
-
-int
-ahd_lunptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LUNPTR",
-           0x22, regvalue, cur_col, wrap));
-}
-
-int
-ahd_cmdlenptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CMDLENPTR",
-           0x25, regvalue, cur_col, wrap));
-}
-
-int
-ahd_attrptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ATTRPTR",
-           0x26, regvalue, cur_col, wrap));
-}
-
-int
-ahd_flagptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "FLAGPTR",
-           0x27, regvalue, cur_col, wrap));
-}
-
-int
-ahd_cmdptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CMDPTR",
-           0x28, regvalue, cur_col, wrap));
-}
-
-int
-ahd_qnextptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "QNEXTPTR",
-           0x29, regvalue, cur_col, wrap));
-}
-
-int
-ahd_abrtbyteptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ABRTBYTEPTR",
-           0x2b, regvalue, cur_col, wrap));
-}
-
-int
-ahd_abrtbitptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ABRTBITPTR",
-           0x2c, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t LUNLEN_parse_table[] = {
-       { "ILUNLEN",            0x0f, 0x0f },
-       { "TLUNLEN",            0xf0, 0xf0 }
-};
-
-int
-ahd_lunlen_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LUNLEN_parse_table, 2, "LUNLEN",
-           0x30, regvalue, cur_col, wrap));
-}
-
-int
-ahd_cdblimit_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CDBLIMIT",
-           0x31, regvalue, cur_col, wrap));
-}
-
-int
-ahd_maxcmd_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "MAXCMD",
-           0x32, regvalue, cur_col, wrap));
-}
-
-int
-ahd_maxcmdcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "MAXCMDCNT",
-           0x33, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t LQCTL1_parse_table[] = {
-       { "ABORTPENDING",       0x01, 0x01 },
-       { "SINGLECMD",          0x02, 0x02 },
-       { "PCI2PCI",            0x04, 0x04 }
-};
-
-int
-ahd_lqctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LQCTL1_parse_table, 3, "LQCTL1",
-           0x38, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t LQCTL2_parse_table[] = {
-       { "LQOPAUSE",           0x01, 0x01 },
-       { "LQOTOIDLE",          0x02, 0x02 },
-       { "LQOCONTINUE",        0x04, 0x04 },
-       { "LQORETRY",           0x08, 0x08 },
-       { "LQIPAUSE",           0x10, 0x10 },
-       { "LQITOIDLE",          0x20, 0x20 },
-       { "LQICONTINUE",        0x40, 0x40 },
-       { "LQIRETRY",           0x80, 0x80 }
-};
-
-int
-ahd_lqctl2_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LQCTL2_parse_table, 8, "LQCTL2",
-           0x39, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SCSISEQ0_parse_table[] = {
        { "SCSIRSTO",           0x01, 0x01 },
        { "FORCEBUSFREE",       0x10, 0x10 },
@@ -498,37 +155,6 @@ ahd_scsiseq1_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x3b, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SXFRCTL0_parse_table[] = {
-       { "SPIOEN",             0x08, 0x08 },
-       { "BIOSCANCELEN",       0x10, 0x10 },
-       { "DFPEXP",             0x40, 0x40 },
-       { "DFON",               0x80, 0x80 }
-};
-
-int
-ahd_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SXFRCTL0_parse_table, 4, "SXFRCTL0",
-           0x3c, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SXFRCTL1_parse_table[] = {
-       { "STPWEN",             0x01, 0x01 },
-       { "ACTNEGEN",           0x02, 0x02 },
-       { "ENSTIMER",           0x04, 0x04 },
-       { "STIMESEL",           0x18, 0x18 },
-       { "ENSPCHK",            0x20, 0x20 },
-       { "ENSACHK",            0x40, 0x40 },
-       { "BITBUCKET",          0x80, 0x80 }
-};
-
-int
-ahd_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1",
-           0x3d, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t DFFSTAT_parse_table[] = {
        { "CURRFIFO_0",         0x00, 0x03 },
        { "CURRFIFO_1",         0x01, 0x03 },
@@ -545,40 +171,6 @@ ahd_dffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x3f, regvalue, cur_col, wrap));
 }
 
-int
-ahd_multargid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "MULTARGID",
-           0x40, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCSISIGO_parse_table[] = {
-       { "P_DATAOUT",          0x00, 0xe0 },
-       { "P_DATAOUT_DT",       0x20, 0xe0 },
-       { "P_DATAIN",           0x40, 0xe0 },
-       { "P_DATAIN_DT",        0x60, 0xe0 },
-       { "P_COMMAND",          0x80, 0xe0 },
-       { "P_MESGOUT",          0xa0, 0xe0 },
-       { "P_STATUS",           0xc0, 0xe0 },
-       { "P_MESGIN",           0xe0, 0xe0 },
-       { "ACKO",               0x01, 0x01 },
-       { "REQO",               0x02, 0x02 },
-       { "BSYO",               0x04, 0x04 },
-       { "SELO",               0x08, 0x08 },
-       { "ATNO",               0x10, 0x10 },
-       { "MSGO",               0x20, 0x20 },
-       { "IOO",                0x40, 0x40 },
-       { "CDO",                0x80, 0x80 },
-       { "PHASE_MASK",         0xe0, 0xe0 }
-};
-
-int
-ahd_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCSISIGO_parse_table, 17, "SCSISIGO",
-           0x40, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SCSISIGI_parse_table[] = {
        { "P_DATAOUT",          0x00, 0xe0 },
        { "P_DATAOUT_DT",       0x20, 0xe0 },
@@ -623,13 +215,6 @@ ahd_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x42, regvalue, cur_col, wrap));
 }
 
-int
-ahd_scsidat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCSIDAT",
-           0x44, regvalue, cur_col, wrap));
-}
-
 int
 ahd_scsibus_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
@@ -637,18 +222,6 @@ ahd_scsibus_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x46, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t TARGIDIN_parse_table[] = {
-       { "TARGID",             0x0f, 0x0f },
-       { "CLKOUT",             0x80, 0x80 }
-};
-
-int
-ahd_targidin_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(TARGIDIN_parse_table, 2, "TARGIDIN",
-           0x48, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SELID_parse_table[] = {
        { "ONEBIT",             0x08, 0x08 },
        { "SELID_MASK",         0xf0, 0xf0 }
@@ -661,38 +234,6 @@ ahd_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x49, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t OPTIONMODE_parse_table[] = {
-       { "AUTO_MSGOUT_DE",     0x02, 0x02 },
-       { "ENDGFORMCHK",        0x04, 0x04 },
-       { "BUSFREEREV",         0x10, 0x10 },
-       { "BIASCANCTL",         0x20, 0x20 },
-       { "AUTOACKEN",          0x40, 0x40 },
-       { "BIOSCANCTL",         0x80, 0x80 },
-       { "OPTIONMODE_DEFAULTS",0x02, 0x02 }
-};
-
-int
-ahd_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(OPTIONMODE_parse_table, 7, "OPTIONMODE",
-           0x4a, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SBLKCTL_parse_table[] = {
-       { "SELWIDE",            0x02, 0x02 },
-       { "ENAB20",             0x04, 0x04 },
-       { "ENAB40",             0x08, 0x08 },
-       { "DIAGLEDON",          0x40, 0x40 },
-       { "DIAGLEDEN",          0x80, 0x80 }
-};
-
-int
-ahd_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SBLKCTL_parse_table, 5, "SBLKCTL",
-           0x4a, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SSTAT0_parse_table[] = {
        { "ARBDO",              0x01, 0x01 },
        { "SPIORDY",            0x02, 0x02 },
@@ -728,23 +269,6 @@ ahd_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x4b, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t CLRSINT0_parse_table[] = {
-       { "CLRARBDO",           0x01, 0x01 },
-       { "CLRSPIORDY",         0x02, 0x02 },
-       { "CLROVERRUN",         0x04, 0x04 },
-       { "CLRIOERR",           0x08, 0x08 },
-       { "CLRSELINGO",         0x10, 0x10 },
-       { "CLRSELDI",           0x20, 0x20 },
-       { "CLRSELDO",           0x40, 0x40 }
-};
-
-int
-ahd_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRSINT0_parse_table, 7, "CLRSINT0",
-           0x4b, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SSTAT1_parse_table[] = {
        { "REQINIT",            0x01, 0x01 },
        { "STRB2FAST",          0x02, 0x02 },
@@ -763,23 +287,6 @@ ahd_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x4c, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t CLRSINT1_parse_table[] = {
-       { "CLRREQINIT",         0x01, 0x01 },
-       { "CLRSTRB2FAST",       0x02, 0x02 },
-       { "CLRSCSIPERR",        0x04, 0x04 },
-       { "CLRBUSFREE",         0x08, 0x08 },
-       { "CLRSCSIRSTI",        0x20, 0x20 },
-       { "CLRATNO",            0x40, 0x40 },
-       { "CLRSELTIMEO",        0x80, 0x80 }
-};
-
-int
-ahd_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
-           0x4c, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SSTAT2_parse_table[] = {
        { "BUSFREE_LQO",        0x40, 0xc0 },
        { "BUSFREE_DFF0",       0x80, 0xc0 },
@@ -800,20 +307,6 @@ ahd_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x4d, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t CLRSINT2_parse_table[] = {
-       { "CLRDMADONE",         0x01, 0x01 },
-       { "CLRSDONE",           0x02, 0x02 },
-       { "CLRWIDE_RES",        0x04, 0x04 },
-       { "CLRNONPACKREQ",      0x20, 0x20 }
-};
-
-int
-ahd_clrsint2_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRSINT2_parse_table, 4, "CLRSINT2",
-           0x4d, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t PERRDIAG_parse_table[] = {
        { "DTERR",              0x01, 0x01 },
        { "DGFORMERR",          0x02, 0x02 },
@@ -832,13 +325,6 @@ ahd_perrdiag_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x4e, regvalue, cur_col, wrap));
 }
 
-int
-ahd_lqistate_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LQISTATE",
-           0x4e, regvalue, cur_col, wrap));
-}
-
 int
 ahd_soffcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
@@ -846,13 +332,6 @@ ahd_soffcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x4f, regvalue, cur_col, wrap));
 }
 
-int
-ahd_lqostate_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LQOSTATE",
-           0x4f, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t LQISTAT0_parse_table[] = {
        { "LQIATNCMD",          0x01, 0x01 },
        { "LQIATNLQ",           0x02, 0x02 },
@@ -869,56 +348,6 @@ ahd_lqistat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x50, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t LQIMODE0_parse_table[] = {
-       { "ENLQIATNCMD",        0x01, 0x01 },
-       { "ENLQIATNLQ",         0x02, 0x02 },
-       { "ENLQIBADLQT",        0x04, 0x04 },
-       { "ENLQICRCT2",         0x08, 0x08 },
-       { "ENLQICRCT1",         0x10, 0x10 },
-       { "ENLQIATNQASK",       0x20, 0x20 }
-};
-
-int
-ahd_lqimode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LQIMODE0_parse_table, 6, "LQIMODE0",
-           0x50, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t CLRLQIINT0_parse_table[] = {
-       { "CLRLQIATNCMD",       0x01, 0x01 },
-       { "CLRLQIATNLQ",        0x02, 0x02 },
-       { "CLRLQIBADLQT",       0x04, 0x04 },
-       { "CLRLQICRCT2",        0x08, 0x08 },
-       { "CLRLQICRCT1",        0x10, 0x10 },
-       { "CLRLQIATNQAS",       0x20, 0x20 }
-};
-
-int
-ahd_clrlqiint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRLQIINT0_parse_table, 6, "CLRLQIINT0",
-           0x50, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t LQIMODE1_parse_table[] = {
-       { "ENLQIOVERI_NLQ",     0x01, 0x01 },
-       { "ENLQIOVERI_LQ",      0x02, 0x02 },
-       { "ENLQIBADLQI",        0x04, 0x04 },
-       { "ENLQICRCI_NLQ",      0x08, 0x08 },
-       { "ENLQICRCI_LQ",       0x10, 0x10 },
-       { "ENLIQABORT",         0x20, 0x20 },
-       { "ENLQIPHASE_NLQ",     0x40, 0x40 },
-       { "ENLQIPHASE_LQ",      0x80, 0x80 }
-};
-
-int
-ahd_lqimode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LQIMODE1_parse_table, 8, "LQIMODE1",
-           0x51, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t LQISTAT1_parse_table[] = {
        { "LQIOVERI_NLQ",       0x01, 0x01 },
        { "LQIOVERI_LQ",        0x02, 0x02 },
@@ -937,24 +366,6 @@ ahd_lqistat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x51, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t CLRLQIINT1_parse_table[] = {
-       { "CLRLQIOVERI_NLQ",    0x01, 0x01 },
-       { "CLRLQIOVERI_LQ",     0x02, 0x02 },
-       { "CLRLQIBADLQI",       0x04, 0x04 },
-       { "CLRLQICRCI_NLQ",     0x08, 0x08 },
-       { "CLRLQICRCI_LQ",      0x10, 0x10 },
-       { "CLRLIQABORT",        0x20, 0x20 },
-       { "CLRLQIPHASE_NLQ",    0x40, 0x40 },
-       { "CLRLQIPHASE_LQ",     0x80, 0x80 }
-};
-
-int
-ahd_clrlqiint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRLQIINT1_parse_table, 8, "CLRLQIINT1",
-           0x51, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t LQISTAT2_parse_table[] = {
        { "LQIGSAVAIL",         0x01, 0x01 },
        { "LQISTOPCMD",         0x02, 0x02 },
@@ -985,30 +396,6 @@ ahd_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x53, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SIMODE3_parse_table[] = {
-       { "ENOSRAMPERR",        0x01, 0x01 },
-       { "ENNTRAMPERR",        0x02, 0x02 }
-};
-
-int
-ahd_simode3_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SIMODE3_parse_table, 2, "SIMODE3",
-           0x53, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t CLRSINT3_parse_table[] = {
-       { "CLROSRAMPERR",       0x01, 0x01 },
-       { "CLRNTRAMPERR",       0x02, 0x02 }
-};
-
-int
-ahd_clrsint3_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRSINT3_parse_table, 2, "CLRSINT3",
-           0x53, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t LQOSTAT0_parse_table[] = {
        { "LQOTCRC",            0x01, 0x01 },
        { "LQOATNPKT",          0x02, 0x02 },
@@ -1024,51 +411,6 @@ ahd_lqostat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x54, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t CLRLQOINT0_parse_table[] = {
-       { "CLRLQOTCRC",         0x01, 0x01 },
-       { "CLRLQOATNPKT",       0x02, 0x02 },
-       { "CLRLQOATNLQ",        0x04, 0x04 },
-       { "CLRLQOSTOPT2",       0x08, 0x08 },
-       { "CLRLQOTARGSCBPERR",  0x10, 0x10 }
-};
-
-int
-ahd_clrlqoint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRLQOINT0_parse_table, 5, "CLRLQOINT0",
-           0x54, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t LQOMODE0_parse_table[] = {
-       { "ENLQOTCRC",          0x01, 0x01 },
-       { "ENLQOATNPKT",        0x02, 0x02 },
-       { "ENLQOATNLQ",         0x04, 0x04 },
-       { "ENLQOSTOPT2",        0x08, 0x08 },
-       { "ENLQOTARGSCBPERR",   0x10, 0x10 }
-};
-
-int
-ahd_lqomode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LQOMODE0_parse_table, 5, "LQOMODE0",
-           0x54, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t LQOMODE1_parse_table[] = {
-       { "ENLQOPHACHGINPKT",   0x01, 0x01 },
-       { "ENLQOBUSFREE",       0x02, 0x02 },
-       { "ENLQOBADQAS",        0x04, 0x04 },
-       { "ENLQOSTOPI2",        0x08, 0x08 },
-       { "ENLQOINITSCBPERR",   0x10, 0x10 }
-};
-
-int
-ahd_lqomode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LQOMODE1_parse_table, 5, "LQOMODE1",
-           0x55, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t LQOSTAT1_parse_table[] = {
        { "LQOPHACHGINPKT",     0x01, 0x01 },
        { "LQOBUSFREE",         0x02, 0x02 },
@@ -1084,21 +426,6 @@ ahd_lqostat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x55, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t CLRLQOINT1_parse_table[] = {
-       { "CLRLQOPHACHGINPKT",  0x01, 0x01 },
-       { "CLRLQOBUSFREE",      0x02, 0x02 },
-       { "CLRLQOBADQAS",       0x04, 0x04 },
-       { "CLRLQOSTOPI2",       0x08, 0x08 },
-       { "CLRLQOINITSCBPERR",  0x10, 0x10 }
-};
-
-int
-ahd_clrlqoint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRLQOINT1_parse_table, 5, "CLRLQOINT1",
-           0x55, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t LQOSTAT2_parse_table[] = {
        { "LQOSTOP0",           0x01, 0x01 },
        { "LQOPHACHGOUTPKT",    0x02, 0x02 },
@@ -1113,13 +440,6 @@ ahd_lqostat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x56, regvalue, cur_col, wrap));
 }
 
-int
-ahd_os_space_cnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "OS_SPACE_CNT",
-           0x56, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SIMODE1_parse_table[] = {
        { "ENREQINIT",          0x01, 0x01 },
        { "ENSTRB2FAST",        0x02, 0x02 },
@@ -1138,13 +458,6 @@ ahd_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x57, regvalue, cur_col, wrap));
 }
 
-int
-ahd_gsfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "GSFIFO",
-           0x58, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t DFFSXFRCTL_parse_table[] = {
        { "RSTCHN",             0x01, 0x01 },
        { "CLRCHN",             0x02, 0x02 },
@@ -1159,44 +472,6 @@ ahd_dffsxfrctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x5a, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t LQOSCSCTL_parse_table[] = {
-       { "LQONOCHKOVER",       0x01, 0x01 },
-       { "LQONOHOLDLACK",      0x02, 0x02 },
-       { "LQOBUSETDLY",        0x40, 0x40 },
-       { "LQOH2A_VERSION",     0x80, 0x80 }
-};
-
-int
-ahd_lqoscsctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LQOSCSCTL_parse_table, 4, "LQOSCSCTL",
-           0x5a, regvalue, cur_col, wrap));
-}
-
-int
-ahd_nextscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "NEXTSCB",
-           0x5a, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t CLRSEQINTSRC_parse_table[] = {
-       { "CLRCFG4TCMD",        0x01, 0x01 },
-       { "CLRCFG4ICMD",        0x02, 0x02 },
-       { "CLRCFG4TSTAT",       0x04, 0x04 },
-       { "CLRCFG4ISTAT",       0x08, 0x08 },
-       { "CLRCFG4DATA",        0x10, 0x10 },
-       { "CLRSAVEPTRS",        0x20, 0x20 },
-       { "CLRCTXTDONE",        0x40, 0x40 }
-};
-
-int
-ahd_clrseqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CLRSEQINTSRC_parse_table, 7, "CLRSEQINTSRC",
-           0x5b, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t SEQINTSRC_parse_table[] = {
        { "CFG4TCMD",           0x01, 0x01 },
        { "CFG4ICMD",           0x02, 0x02 },
@@ -1231,13 +506,6 @@ ahd_seqimode_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x5c, regvalue, cur_col, wrap));
 }
 
-int
-ahd_currscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CURRSCB",
-           0x5c, regvalue, cur_col, wrap));
-}
-
 static const ahd_reg_parse_entry_t MDFFSTAT_parse_table[] = {
        { "FIFOFREE",           0x01, 0x01 },
        { "DATAINFIFO",         0x02, 0x02 },
@@ -1256,1213 +524,222 @@ ahd_mdffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
 }
 
 int
-ahd_lastscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LASTSCB",
-           0x5e, regvalue, cur_col, wrap));
-}
-
-int
-ahd_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SHADDR",
-           0x60, regvalue, cur_col, wrap));
-}
-
-int
-ahd_negoaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "NEGOADDR",
-           0x60, regvalue, cur_col, wrap));
-}
-
-int
-ahd_negperiod_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "NEGPERIOD",
-           0x61, regvalue, cur_col, wrap));
-}
-
-int
-ahd_negoffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_seloid_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "NEGOFFSET",
-           0x62, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "SELOID",
+           0x6b, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t NEGPPROPTS_parse_table[] = {
-       { "PPROPT_IUT",         0x01, 0x01 },
-       { "PPROPT_DT",          0x02, 0x02 },
-       { "PPROPT_QAS",         0x04, 0x04 },
-       { "PPROPT_PACE",        0x08, 0x08 }
+static const ahd_reg_parse_entry_t SG_STATE_parse_table[] = {
+       { "SEGS_AVAIL",         0x01, 0x01 },
+       { "LOADING_NEEDED",     0x02, 0x02 },
+       { "FETCH_INPROG",       0x04, 0x04 }
 };
 
 int
-ahd_negppropts_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_sg_state_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NEGPPROPTS_parse_table, 4, "NEGPPROPTS",
-           0x63, regvalue, cur_col, wrap));
+       return (ahd_print_register(SG_STATE_parse_table, 3, "SG_STATE",
+           0xa6, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t NEGCONOPTS_parse_table[] = {
-       { "WIDEXFER",           0x01, 0x01 },
-       { "ENAUTOATNO",         0x02, 0x02 },
-       { "ENAUTOATNI",         0x04, 0x04 },
-       { "ENSLOWCRC",          0x08, 0x08 },
-       { "RTI_OVRDTRN",        0x10, 0x10 },
-       { "RTI_WRTDIS",         0x20, 0x20 },
-       { "ENSNAPSHOT",         0x40, 0x40 }
+static const ahd_reg_parse_entry_t CCSCBCTL_parse_table[] = {
+       { "CCSCBRESET",         0x01, 0x01 },
+       { "CCSCBDIR",           0x04, 0x04 },
+       { "CCSCBEN",            0x08, 0x08 },
+       { "CCARREN",            0x10, 0x10 },
+       { "ARRDONE",            0x40, 0x40 },
+       { "CCSCBDONE",          0x80, 0x80 }
 };
 
 int
-ahd_negconopts_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NEGCONOPTS_parse_table, 7, "NEGCONOPTS",
-           0x64, regvalue, cur_col, wrap));
-}
-
-int
-ahd_annexcol_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ANNEXCOL",
-           0x65, regvalue, cur_col, wrap));
-}
-
-int
-ahd_annexdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "ANNEXDAT",
-           0x66, regvalue, cur_col, wrap));
+       return (ahd_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
+           0xad, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SCSCHKN_parse_table[] = {
-       { "LSTSGCLRDIS",        0x01, 0x01 },
-       { "SHVALIDSTDIS",       0x02, 0x02 },
-       { "DFFACTCLR",          0x04, 0x04 },
-       { "SDONEMSKDIS",        0x08, 0x08 },
-       { "WIDERESEN",          0x10, 0x10 },
-       { "CURRFIFODEF",        0x20, 0x20 },
-       { "STSELSKIDDIS",       0x40, 0x40 },
-       { "BIDICHKDIS",         0x80, 0x80 }
+static const ahd_reg_parse_entry_t CCSGCTL_parse_table[] = {
+       { "CCSGRESET",          0x01, 0x01 },
+       { "SG_FETCH_REQ",       0x02, 0x02 },
+       { "CCSGENACK",          0x08, 0x08 },
+       { "SG_CACHE_AVAIL",     0x10, 0x10 },
+       { "CCSGDONE",           0x80, 0x80 },
+       { "CCSGEN",             0x0c, 0x0c }
 };
 
 int
-ahd_scschkn_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(SCSCHKN_parse_table, 8, "SCSCHKN",
-           0x66, regvalue, cur_col, wrap));
+       return (ahd_print_register(CCSGCTL_parse_table, 6, "CCSGCTL",
+           0xad, regvalue, cur_col, wrap));
 }
 
-int
-ahd_iownid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "IOWNID",
-           0x67, regvalue, cur_col, wrap));
-}
+static const ahd_reg_parse_entry_t SEQCTL0_parse_table[] = {
+       { "LOADRAM",            0x01, 0x01 },
+       { "SEQRESET",           0x02, 0x02 },
+       { "STEP",               0x04, 0x04 },
+       { "BRKADRINTEN",        0x08, 0x08 },
+       { "FASTMODE",           0x10, 0x10 },
+       { "FAILDIS",            0x20, 0x20 },
+       { "PAUSEDIS",           0x40, 0x40 },
+       { "PERRORDIS",          0x80, 0x80 }
+};
 
 int
-ahd_shcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_seqctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "SHCNT",
-           0x68, regvalue, cur_col, wrap));
+       return (ahd_print_register(SEQCTL0_parse_table, 8, "SEQCTL0",
+           0xd6, regvalue, cur_col, wrap));
 }
 
-int
-ahd_townid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "TOWNID",
-           0x69, regvalue, cur_col, wrap));
-}
+static const ahd_reg_parse_entry_t SEQINTCTL_parse_table[] = {
+       { "IRET",               0x01, 0x01 },
+       { "INTMASK1",           0x02, 0x02 },
+       { "INTMASK2",           0x04, 0x04 },
+       { "SCS_SEQ_INT1M0",     0x08, 0x08 },
+       { "SCS_SEQ_INT1M1",     0x10, 0x10 },
+       { "INT1_CONTEXT",       0x20, 0x20 },
+       { "INTVEC1DSL",         0x80, 0x80 }
+};
 
 int
-ahd_seloid_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_seqintctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "SELOID",
-           0x6b, regvalue, cur_col, wrap));
+       return (ahd_print_register(SEQINTCTL_parse_table, 7, "SEQINTCTL",
+           0xd9, regvalue, cur_col, wrap));
 }
 
 int
-ahd_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "HADDR",
-           0x70, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "SRAM_BASE",
+           0x100, regvalue, cur_col, wrap));
 }
 
 int
-ahd_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "HCNT",
-           0x78, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "QFREEZE_COUNT",
+           0x132, regvalue, cur_col, wrap));
 }
 
 int
-ahd_sghaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_kernel_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "SGHADDR",
-           0x7c, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "KERNEL_QFREEZE_COUNT",
+           0x134, regvalue, cur_col, wrap));
 }
 
 int
-ahd_scbhaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_saved_mode_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "SCBHADDR",
-           0x7c, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "SAVED_MODE",
+           0x136, regvalue, cur_col, wrap));
 }
 
-int
-ahd_sghcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SGHCNT",
-           0x84, regvalue, cur_col, wrap));
-}
+static const ahd_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
+       { "NO_DISCONNECT",      0x01, 0x01 },
+       { "SPHASE_PENDING",     0x02, 0x02 },
+       { "DPHASE_PENDING",     0x04, 0x04 },
+       { "CMDPHASE_PENDING",   0x08, 0x08 },
+       { "TARG_CMD_PENDING",   0x10, 0x10 },
+       { "DPHASE",             0x20, 0x20 },
+       { "NO_CDB_SENT",        0x40, 0x40 },
+       { "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
+       { "NOT_IDENTIFIED",     0x80, 0x80 }
+};
 
 int
-ahd_scbhcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(NULL, 0, "SCBHCNT",
-           0x84, regvalue, cur_col, wrap));
+       return (ahd_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
+           0x139, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t DFF_THRSH_parse_table[] = {
-       { "WR_DFTHRSH_MIN",     0x00, 0x70 },
-       { "RD_DFTHRSH_MIN",     0x00, 0x07 },
-       { "RD_DFTHRSH_25",      0x01, 0x07 },
-       { "RD_DFTHRSH_50",      0x02, 0x07 },
-       { "RD_DFTHRSH_63",      0x03, 0x07 },
-       { "RD_DFTHRSH_75",      0x04, 0x07 },
-       { "RD_DFTHRSH_85",      0x05, 0x07 },
-       { "RD_DFTHRSH_90",      0x06, 0x07 },
-       { "RD_DFTHRSH_MAX",     0x07, 0x07 },
-       { "WR_DFTHRSH_25",      0x10, 0x70 },
-       { "WR_DFTHRSH_50",      0x20, 0x70 },
-       { "WR_DFTHRSH_63",      0x30, 0x70 },
-       { "WR_DFTHRSH_75",      0x40, 0x70 },
-       { "WR_DFTHRSH_85",      0x50, 0x70 },
-       { "WR_DFTHRSH_90",      0x60, 0x70 },
-       { "WR_DFTHRSH_MAX",     0x70, 0x70 },
-       { "RD_DFTHRSH",         0x07, 0x07 },
-       { "WR_DFTHRSH",         0x70, 0x70 }
+static const ahd_reg_parse_entry_t LASTPHASE_parse_table[] = {
+       { "P_DATAOUT",          0x00, 0xe0 },
+       { "P_DATAOUT_DT",       0x20, 0xe0 },
+       { "P_DATAIN",           0x40, 0xe0 },
+       { "P_DATAIN_DT",        0x60, 0xe0 },
+       { "P_COMMAND",          0x80, 0xe0 },
+       { "P_MESGOUT",          0xa0, 0xe0 },
+       { "P_STATUS",           0xc0, 0xe0 },
+       { "P_MESGIN",           0xe0, 0xe0 },
+       { "P_BUSFREE",          0x01, 0x01 },
+       { "MSGI",               0x20, 0x20 },
+       { "IOI",                0x40, 0x40 },
+       { "CDI",                0x80, 0x80 },
+       { "PHASE_MASK",         0xe0, 0xe0 }
 };
 
 int
-ahd_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
-           0x88, regvalue, cur_col, wrap));
+       return (ahd_print_register(LASTPHASE_parse_table, 13, "LASTPHASE",
+           0x13c, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t PCIXCTL_parse_table[] = {
-       { "CMPABCDIS",          0x01, 0x01 },
-       { "TSCSERREN",          0x02, 0x02 },
-       { "SRSPDPEEN",          0x04, 0x04 },
-       { "SPLTSTADIS",         0x08, 0x08 },
-       { "SPLTSMADIS",         0x10, 0x10 },
-       { "UNEXPSCIEN",         0x20, 0x20 },
-       { "SERRPULSE",          0x80, 0x80 }
+static const ahd_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
+       { "PENDING_MK_MESSAGE", 0x01, 0x01 },
+       { "TARGET_MSG_PENDING", 0x02, 0x02 },
+       { "SELECTOUT_QFROZEN",  0x04, 0x04 }
 };
 
 int
-ahd_pcixctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(PCIXCTL_parse_table, 7, "PCIXCTL",
-           0x93, regvalue, cur_col, wrap));
+       return (ahd_print_register(SEQ_FLAGS2_parse_table, 3, "SEQ_FLAGS2",
+           0x14d, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t DCHSPLTSTAT0_parse_table[] = {
-       { "RXSPLTRSP",          0x01, 0x01 },
-       { "RXSCEMSG",           0x02, 0x02 },
-       { "RXOVRUN",            0x04, 0x04 },
-       { "CNTNOTCMPLT",        0x08, 0x08 },
-       { "SCDATBUCKET",        0x10, 0x10 },
-       { "SCADERR",            0x20, 0x20 },
-       { "SCBCERR",            0x40, 0x40 },
-       { "STAETERM",           0x80, 0x80 }
-};
-
 int
-ahd_dchspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_mk_message_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(DCHSPLTSTAT0_parse_table, 8, "DCHSPLTSTAT0",
-           0x96, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCB",
+           0x160, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t DCHSPLTSTAT1_parse_table[] = {
-       { "RXDATABUCKET",       0x01, 0x01 }
-};
-
 int
-ahd_dchspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_mk_message_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(DCHSPLTSTAT1_parse_table, 1, "DCHSPLTSTAT1",
-           0x97, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCSIID",
+           0x162, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SGSPLTSTAT0_parse_table[] = {
-       { "RXSPLTRSP",          0x01, 0x01 },
-       { "RXSCEMSG",           0x02, 0x02 },
-       { "RXOVRUN",            0x04, 0x04 },
-       { "CNTNOTCMPLT",        0x08, 0x08 },
-       { "SCDATBUCKET",        0x10, 0x10 },
-       { "SCADERR",            0x20, 0x20 },
-       { "SCBCERR",            0x40, 0x40 },
-       { "STAETERM",           0x80, 0x80 }
-};
-
 int
-ahd_sgspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(SGSPLTSTAT0_parse_table, 8, "SGSPLTSTAT0",
-           0x9e, regvalue, cur_col, wrap));
+       return (ahd_print_register(NULL, 0, "SCB_BASE",
+           0x180, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SGSPLTSTAT1_parse_table[] = {
-       { "RXDATABUCKET",       0x01, 0x01 }
+static const ahd_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
+       { "SCB_TAG_TYPE",       0x03, 0x03 },
+       { "DISCONNECTED",       0x04, 0x04 },
+       { "STATUS_RCVD",        0x08, 0x08 },
+       { "MK_MESSAGE",         0x10, 0x10 },
+       { "TAG_ENB",            0x20, 0x20 },
+       { "DISCENB",            0x40, 0x40 },
+       { "TARGET_SCB",         0x80, 0x80 }
 };
 
 int
-ahd_sgspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahd_print_register(SGSPLTSTAT1_parse_table, 1, "SGSPLTSTAT1",
-           0x9f, regvalue, cur_col, wrap));
+       return (ahd_print_register(SCB_CONTROL_parse_table, 7, "SCB_CONTROL",
+           0x192, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t DF0PCISTAT_parse_table[] = {
-       { "DPR",                0x01, 0x01 },
-       { "TWATERR",            0x02, 0x02 },
-       { "RDPERR",             0x04, 0x04 },
-       { "SCAAPERR",           0x08, 0x08 },
-       { "RTA",                0x10, 0x10 },
-       { "RMA",                0x20, 0x20 },
-       { "SSE",                0x40, 0x40 },
-       { "DPE",                0x80, 0x80 }
+static const ahd_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
+       { "OID",                0x0f, 0x0f },
+       { "TID",                0xf0, 0xf0 }
 };
 
 int
-ahd_df0pcistat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(DF0PCISTAT_parse_table, 8, "DF0PCISTAT",
-           0xa0, regvalue, cur_col, wrap));
-}
-
-int
-ahd_reg0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "REG0",
-           0xa0, regvalue, cur_col, wrap));
-}
-
-int
-ahd_reg_isr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "REG_ISR",
-           0xa4, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SG_STATE_parse_table[] = {
-       { "SEGS_AVAIL",         0x01, 0x01 },
-       { "LOADING_NEEDED",     0x02, 0x02 },
-       { "FETCH_INPROG",       0x04, 0x04 }
-};
-
-int
-ahd_sg_state_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SG_STATE_parse_table, 3, "SG_STATE",
-           0xa6, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t TARGPCISTAT_parse_table[] = {
-       { "TWATERR",            0x02, 0x02 },
-       { "STA",                0x08, 0x08 },
-       { "SSE",                0x40, 0x40 },
-       { "DPE",                0x80, 0x80 }
-};
-
-int
-ahd_targpcistat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(TARGPCISTAT_parse_table, 4, "TARGPCISTAT",
-           0xa7, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCBPTR",
-           0xa8, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCBAUTOPTR_parse_table[] = {
-       { "SCBPTR_OFF",         0x07, 0x07 },
-       { "SCBPTR_ADDR",        0x38, 0x38 },
-       { "AUSCBPTR_EN",        0x80, 0x80 }
-};
-
-int
-ahd_scbautoptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCBAUTOPTR_parse_table, 3, "SCBAUTOPTR",
-           0xab, regvalue, cur_col, wrap));
-}
-
-int
-ahd_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CCSGADDR",
-           0xac, regvalue, cur_col, wrap));
-}
-
-int
-ahd_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CCSCBADDR",
-           0xac, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t CCSCBCTL_parse_table[] = {
-       { "CCSCBRESET",         0x01, 0x01 },
-       { "CCSCBDIR",           0x04, 0x04 },
-       { "CCSCBEN",            0x08, 0x08 },
-       { "CCARREN",            0x10, 0x10 },
-       { "ARRDONE",            0x40, 0x40 },
-       { "CCSCBDONE",          0x80, 0x80 }
-};
-
-int
-ahd_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
-           0xad, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t CCSGCTL_parse_table[] = {
-       { "CCSGRESET",          0x01, 0x01 },
-       { "SG_FETCH_REQ",       0x02, 0x02 },
-       { "CCSGENACK",          0x08, 0x08 },
-       { "SG_CACHE_AVAIL",     0x10, 0x10 },
-       { "CCSGDONE",           0x80, 0x80 },
-       { "CCSGEN",             0x0c, 0x0c }
-};
-
-int
-ahd_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(CCSGCTL_parse_table, 6, "CCSGCTL",
-           0xad, regvalue, cur_col, wrap));
-}
-
-int
-ahd_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CCSGRAM",
-           0xb0, regvalue, cur_col, wrap));
-}
-
-int
-ahd_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CCSCBRAM",
-           0xb0, regvalue, cur_col, wrap));
-}
-
-int
-ahd_brddat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "BRDDAT",
-           0xb8, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t BRDCTL_parse_table[] = {
-       { "BRDSTB",             0x01, 0x01 },
-       { "BRDRW",              0x02, 0x02 },
-       { "BRDEN",              0x04, 0x04 },
-       { "BRDADDR",            0x38, 0x38 },
-       { "FLXARBREQ",          0x40, 0x40 },
-       { "FLXARBACK",          0x80, 0x80 }
-};
-
-int
-ahd_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(BRDCTL_parse_table, 6, "BRDCTL",
-           0xb9, regvalue, cur_col, wrap));
-}
-
-int
-ahd_seeadr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SEEADR",
-           0xba, regvalue, cur_col, wrap));
-}
-
-int
-ahd_seedat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SEEDAT",
-           0xbc, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SEECTL_parse_table[] = {
-       { "SEEOP_ERAL",         0x40, 0x70 },
-       { "SEEOP_WRITE",        0x50, 0x70 },
-       { "SEEOP_READ",         0x60, 0x70 },
-       { "SEEOP_ERASE",        0x70, 0x70 },
-       { "SEESTART",           0x01, 0x01 },
-       { "SEERST",             0x02, 0x02 },
-       { "SEEOPCODE",          0x70, 0x70 },
-       { "SEEOP_EWEN",         0x40, 0x40 },
-       { "SEEOP_WALL",         0x40, 0x40 },
-       { "SEEOP_EWDS",         0x40, 0x40 }
-};
-
-int
-ahd_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SEECTL_parse_table, 10, "SEECTL",
-           0xbe, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SEESTAT_parse_table[] = {
-       { "SEESTART",           0x01, 0x01 },
-       { "SEEBUSY",            0x02, 0x02 },
-       { "SEEARBACK",          0x04, 0x04 },
-       { "LDALTID_L",          0x08, 0x08 },
-       { "SEEOPCODE",          0x70, 0x70 },
-       { "INIT_DONE",          0x80, 0x80 }
-};
-
-int
-ahd_seestat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SEESTAT_parse_table, 6, "SEESTAT",
-           0xbe, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t DSPDATACTL_parse_table[] = {
-       { "XMITOFFSTDIS",       0x02, 0x02 },
-       { "RCVROFFSTDIS",       0x04, 0x04 },
-       { "DESQDIS",            0x10, 0x10 },
-       { "BYPASSENAB",         0x80, 0x80 }
-};
-
-int
-ahd_dspdatactl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(DSPDATACTL_parse_table, 4, "DSPDATACTL",
-           0xc1, regvalue, cur_col, wrap));
-}
-
-int
-ahd_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "DFDAT",
-           0xc4, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t DSPSELECT_parse_table[] = {
-       { "DSPSEL",             0x1f, 0x1f },
-       { "AUTOINCEN",          0x80, 0x80 }
-};
-
-int
-ahd_dspselect_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(DSPSELECT_parse_table, 2, "DSPSELECT",
-           0xc4, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t WRTBIASCTL_parse_table[] = {
-       { "XMITMANVAL",         0x3f, 0x3f },
-       { "AUTOXBCDIS",         0x80, 0x80 }
-};
-
-int
-ahd_wrtbiasctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(WRTBIASCTL_parse_table, 2, "WRTBIASCTL",
-           0xc5, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SEQCTL0_parse_table[] = {
-       { "LOADRAM",            0x01, 0x01 },
-       { "SEQRESET",           0x02, 0x02 },
-       { "STEP",               0x04, 0x04 },
-       { "BRKADRINTEN",        0x08, 0x08 },
-       { "FASTMODE",           0x10, 0x10 },
-       { "FAILDIS",            0x20, 0x20 },
-       { "PAUSEDIS",           0x40, 0x40 },
-       { "PERRORDIS",          0x80, 0x80 }
-};
-
-int
-ahd_seqctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SEQCTL0_parse_table, 8, "SEQCTL0",
-           0xd6, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t FLAGS_parse_table[] = {
-       { "CARRY",              0x01, 0x01 },
-       { "ZERO",               0x02, 0x02 }
-};
-
-int
-ahd_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(FLAGS_parse_table, 2, "FLAGS",
-           0xd8, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SEQINTCTL_parse_table[] = {
-       { "IRET",               0x01, 0x01 },
-       { "INTMASK1",           0x02, 0x02 },
-       { "INTMASK2",           0x04, 0x04 },
-       { "SCS_SEQ_INT1M0",     0x08, 0x08 },
-       { "SCS_SEQ_INT1M1",     0x10, 0x10 },
-       { "INT1_CONTEXT",       0x20, 0x20 },
-       { "INTVEC1DSL",         0x80, 0x80 }
-};
-
-int
-ahd_seqintctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SEQINTCTL_parse_table, 7, "SEQINTCTL",
-           0xd9, regvalue, cur_col, wrap));
-}
-
-int
-ahd_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SEQRAM",
-           0xda, regvalue, cur_col, wrap));
-}
-
-int
-ahd_prgmcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "PRGMCNT",
-           0xde, regvalue, cur_col, wrap));
-}
-
-int
-ahd_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ACCUM",
-           0xe0, regvalue, cur_col, wrap));
-}
-
-int
-ahd_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SINDEX",
-           0xe2, regvalue, cur_col, wrap));
-}
-
-int
-ahd_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "DINDEX",
-           0xe4, regvalue, cur_col, wrap));
-}
-
-int
-ahd_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ALLONES",
-           0xe8, regvalue, cur_col, wrap));
-}
-
-int
-ahd_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ALLZEROS",
-           0xea, regvalue, cur_col, wrap));
-}
-
-int
-ahd_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "NONE",
-           0xea, regvalue, cur_col, wrap));
-}
-
-int
-ahd_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SINDIR",
-           0xec, regvalue, cur_col, wrap));
-}
-
-int
-ahd_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "DINDIR",
-           0xed, regvalue, cur_col, wrap));
-}
-
-int
-ahd_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "STACK",
-           0xf2, regvalue, cur_col, wrap));
-}
-
-int
-ahd_intvec1_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "INTVEC1_ADDR",
-           0xf4, regvalue, cur_col, wrap));
-}
-
-int
-ahd_curaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CURADDR",
-           0xf4, regvalue, cur_col, wrap));
-}
-
-int
-ahd_intvec2_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "INTVEC2_ADDR",
-           0xf6, regvalue, cur_col, wrap));
-}
-
-int
-ahd_longjmp_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LONGJMP_ADDR",
-           0xf8, regvalue, cur_col, wrap));
-}
-
-int
-ahd_accum_save_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ACCUM_SAVE",
-           0xfa, regvalue, cur_col, wrap));
-}
-
-int
-ahd_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SRAM_BASE",
-           0x100, regvalue, cur_col, wrap));
-}
-
-int
-ahd_waiting_scb_tails_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "WAITING_SCB_TAILS",
-           0x100, regvalue, cur_col, wrap));
-}
-
-int
-ahd_waiting_tid_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "WAITING_TID_HEAD",
-           0x120, regvalue, cur_col, wrap));
-}
-
-int
-ahd_waiting_tid_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "WAITING_TID_TAIL",
-           0x122, regvalue, cur_col, wrap));
-}
-
-int
-ahd_next_queued_scb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "NEXT_QUEUED_SCB_ADDR",
-           0x124, regvalue, cur_col, wrap));
-}
-
-int
-ahd_complete_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "COMPLETE_SCB_HEAD",
-           0x128, regvalue, cur_col, wrap));
-}
-
-int
-ahd_complete_scb_dmainprog_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "COMPLETE_SCB_DMAINPROG_HEAD",
-           0x12a, regvalue, cur_col, wrap));
-}
-
-int
-ahd_complete_dma_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_HEAD",
-           0x12c, regvalue, cur_col, wrap));
-}
-
-int
-ahd_complete_dma_scb_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_TAIL",
-           0x12e, regvalue, cur_col, wrap));
-}
-
-int
-ahd_complete_on_qfreeze_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "COMPLETE_ON_QFREEZE_HEAD",
-           0x130, regvalue, cur_col, wrap));
-}
-
-int
-ahd_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "QFREEZE_COUNT",
-           0x132, regvalue, cur_col, wrap));
-}
-
-int
-ahd_kernel_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "KERNEL_QFREEZE_COUNT",
-           0x134, regvalue, cur_col, wrap));
-}
-
-int
-ahd_saved_mode_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SAVED_MODE",
-           0x136, regvalue, cur_col, wrap));
-}
-
-int
-ahd_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "MSG_OUT",
-           0x137, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t DMAPARAMS_parse_table[] = {
-       { "FIFORESET",          0x01, 0x01 },
-       { "FIFOFLUSH",          0x02, 0x02 },
-       { "DIRECTION",          0x04, 0x04 },
-       { "HDMAEN",             0x08, 0x08 },
-       { "HDMAENACK",          0x08, 0x08 },
-       { "SDMAEN",             0x10, 0x10 },
-       { "SDMAENACK",          0x10, 0x10 },
-       { "SCSIEN",             0x20, 0x20 },
-       { "WIDEODD",            0x40, 0x40 },
-       { "PRELOADEN",          0x80, 0x80 }
-};
-
-int
-ahd_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
-           0x138, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
-       { "NO_DISCONNECT",      0x01, 0x01 },
-       { "SPHASE_PENDING",     0x02, 0x02 },
-       { "DPHASE_PENDING",     0x04, 0x04 },
-       { "CMDPHASE_PENDING",   0x08, 0x08 },
-       { "TARG_CMD_PENDING",   0x10, 0x10 },
-       { "DPHASE",             0x20, 0x20 },
-       { "NO_CDB_SENT",        0x40, 0x40 },
-       { "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
-       { "NOT_IDENTIFIED",     0x80, 0x80 }
-};
-
-int
-ahd_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
-           0x139, regvalue, cur_col, wrap));
-}
-
-int
-ahd_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SAVED_SCSIID",
-           0x13a, regvalue, cur_col, wrap));
-}
-
-int
-ahd_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SAVED_LUN",
-           0x13b, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t LASTPHASE_parse_table[] = {
-       { "P_DATAOUT",          0x00, 0xe0 },
-       { "P_DATAOUT_DT",       0x20, 0xe0 },
-       { "P_DATAIN",           0x40, 0xe0 },
-       { "P_DATAIN_DT",        0x60, 0xe0 },
-       { "P_COMMAND",          0x80, 0xe0 },
-       { "P_MESGOUT",          0xa0, 0xe0 },
-       { "P_STATUS",           0xc0, 0xe0 },
-       { "P_MESGIN",           0xe0, 0xe0 },
-       { "P_BUSFREE",          0x01, 0x01 },
-       { "MSGI",               0x20, 0x20 },
-       { "IOI",                0x40, 0x40 },
-       { "CDI",                0x80, 0x80 },
-       { "PHASE_MASK",         0xe0, 0xe0 }
-};
-
-int
-ahd_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(LASTPHASE_parse_table, 13, "LASTPHASE",
-           0x13c, regvalue, cur_col, wrap));
-}
-
-int
-ahd_qoutfifo_entry_valid_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "QOUTFIFO_ENTRY_VALID_TAG",
-           0x13d, regvalue, cur_col, wrap));
-}
-
-int
-ahd_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "KERNEL_TQINPOS",
-           0x13e, regvalue, cur_col, wrap));
-}
-
-int
-ahd_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "TQINPOS",
-           0x13f, regvalue, cur_col, wrap));
-}
-
-int
-ahd_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SHARED_DATA_ADDR",
-           0x140, regvalue, cur_col, wrap));
-}
-
-int
-ahd_qoutfifo_next_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "QOUTFIFO_NEXT_ADDR",
-           0x144, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t ARG_1_parse_table[] = {
-       { "CONT_MSG_LOOP_TARG", 0x02, 0x02 },
-       { "CONT_MSG_LOOP_READ", 0x03, 0x03 },
-       { "CONT_MSG_LOOP_WRITE",0x04, 0x04 },
-       { "EXIT_MSG_LOOP",      0x08, 0x08 },
-       { "MSGOUT_PHASEMIS",    0x10, 0x10 },
-       { "SEND_REJ",           0x20, 0x20 },
-       { "SEND_SENSE",         0x40, 0x40 },
-       { "SEND_MSG",           0x80, 0x80 }
-};
-
-int
-ahd_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(ARG_1_parse_table, 8, "ARG_1",
-           0x148, regvalue, cur_col, wrap));
-}
-
-int
-ahd_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ARG_2",
-           0x149, regvalue, cur_col, wrap));
-}
-
-int
-ahd_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LAST_MSG",
-           0x14a, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
-       { "ALTSTIM",            0x01, 0x01 },
-       { "ENAUTOATNP",         0x02, 0x02 },
-       { "MANUALP",            0x0c, 0x0c },
-       { "ENRSELI",            0x10, 0x10 },
-       { "ENSELI",             0x20, 0x20 },
-       { "MANUALCTL",          0x40, 0x40 }
-};
-
-int
-ahd_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
-           0x14b, regvalue, cur_col, wrap));
-}
-
-int
-ahd_initiator_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "INITIATOR_TAG",
-           0x14c, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
-       { "PENDING_MK_MESSAGE", 0x01, 0x01 },
-       { "TARGET_MSG_PENDING", 0x02, 0x02 },
-       { "SELECTOUT_QFROZEN",  0x04, 0x04 }
-};
-
-int
-ahd_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SEQ_FLAGS2_parse_table, 3, "SEQ_FLAGS2",
-           0x14d, regvalue, cur_col, wrap));
-}
-
-int
-ahd_allocfifo_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "ALLOCFIFO_SCBPTR",
-           0x14e, regvalue, cur_col, wrap));
-}
-
-int
-ahd_int_coalescing_timer_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "INT_COALESCING_TIMER",
-           0x150, regvalue, cur_col, wrap));
-}
-
-int
-ahd_int_coalescing_maxcmds_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "INT_COALESCING_MAXCMDS",
-           0x152, regvalue, cur_col, wrap));
-}
-
-int
-ahd_int_coalescing_mincmds_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "INT_COALESCING_MINCMDS",
-           0x153, regvalue, cur_col, wrap));
-}
-
-int
-ahd_cmds_pending_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CMDS_PENDING",
-           0x154, regvalue, cur_col, wrap));
-}
-
-int
-ahd_int_coalescing_cmdcount_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "INT_COALESCING_CMDCOUNT",
-           0x156, regvalue, cur_col, wrap));
-}
-
-int
-ahd_local_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "LOCAL_HS_MAILBOX",
-           0x157, regvalue, cur_col, wrap));
-}
-
-int
-ahd_cmdsize_table_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "CMDSIZE_TABLE",
-           0x158, regvalue, cur_col, wrap));
-}
-
-int
-ahd_mk_message_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCB",
-           0x160, regvalue, cur_col, wrap));
-}
-
-int
-ahd_mk_message_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCSIID",
-           0x162, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_residual_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT",
-           0x180, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_BASE",
-           0x180, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCB_RESIDUAL_SGPTR_parse_table[] = {
-       { "SG_LIST_NULL",       0x01, 0x01 },
-       { "SG_OVERRUN_RESID",   0x02, 0x02 },
-       { "SG_ADDR_MASK",       0xf8, 0xf8 }
-};
-
-int
-ahd_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCB_RESIDUAL_SGPTR_parse_table, 3, "SCB_RESIDUAL_SGPTR",
-           0x184, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_SCSI_STATUS",
-           0x188, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_sense_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_SENSE_BUSADDR",
-           0x18c, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_TAG",
-           0x190, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
-       { "SCB_TAG_TYPE",       0x03, 0x03 },
-       { "DISCONNECTED",       0x04, 0x04 },
-       { "STATUS_RCVD",        0x08, 0x08 },
-       { "MK_MESSAGE",         0x10, 0x10 },
-       { "TAG_ENB",            0x20, 0x20 },
-       { "DISCENB",            0x40, 0x40 },
-       { "TARGET_SCB",         0x80, 0x80 }
-};
-
-int
-ahd_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCB_CONTROL_parse_table, 7, "SCB_CONTROL",
-           0x192, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
-       { "OID",                0x0f, 0x0f },
-       { "TID",                0xf0, 0xf0 }
-};
-
-int
-ahd_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahd_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
        return (ahd_print_register(SCB_SCSIID_parse_table, 2, "SCB_SCSIID",
            0x193, regvalue, cur_col, wrap));
 }
 
-static const ahd_reg_parse_entry_t SCB_LUN_parse_table[] = {
-       { "LID",                0xff, 0xff }
-};
-
-int
-ahd_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCB_LUN_parse_table, 1, "SCB_LUN",
-           0x194, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCB_TASK_ATTRIBUTE_parse_table[] = {
-       { "SCB_XFERLEN_ODD",    0x01, 0x01 }
-};
-
-int
-ahd_scb_task_attribute_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCB_TASK_ATTRIBUTE_parse_table, 1, "SCB_TASK_ATTRIBUTE",
-           0x195, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCB_CDB_LEN_parse_table[] = {
-       { "SCB_CDB_LEN_PTR",    0x80, 0x80 }
-};
-
-int
-ahd_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCB_CDB_LEN_parse_table, 1, "SCB_CDB_LEN",
-           0x196, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_task_management_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_TASK_MANAGEMENT",
-           0x197, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_DATAPTR",
-           0x198, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
-       { "SG_HIGH_ADDR_BITS",  0x7f, 0x7f },
-       { "SG_LAST_SEG",        0x80, 0x80 }
-};
-
-int
-ahd_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
-           0x1a0, regvalue, cur_col, wrap));
-}
-
-static const ahd_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
-       { "SG_LIST_NULL",       0x01, 0x01 },
-       { "SG_FULL_RESID",      0x02, 0x02 },
-       { "SG_STATUS_VALID",    0x04, 0x04 }
-};
-
-int
-ahd_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
-           0x1a4, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_BUSADDR",
-           0x1a8, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_NEXT",
-           0x1ac, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_next2_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_NEXT2",
-           0x1ae, regvalue, cur_col, wrap));
-}
-
-int
-ahd_scb_disconnected_lists_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS",
-           0x1b8, regvalue, cur_col, wrap));
-}
-
index 0d2f763c3427c820300303fb8bec461a4a66548b..9a96e55da39ad6406090b5f693c0396d1512d64f 100644 (file)
@@ -50,6 +50,17 @@ VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $"
  * Adaptec's Technical Documents Department 1-800-934-2766
  */
 
+/*
+ * Registers marked "dont_generate_debug_code" are not (yet) referenced
+ * from the driver code, and this keyword inhibit generation
+ * of debug code for them.
+ *
+ * REG_PRETTY_PRINT config will complain if dont_generate_debug_code
+ * is added to the register which is referenced in the driver.
+ * Unreferenced register with no dont_generate_debug_code will result
+ * in dead code. No warning is issued.
+ */
+
 /*
  * SCSI Sequence Control (p. 3-11).
  * Each bit, when set starts a specific SCSI sequence on the bus
@@ -97,6 +108,7 @@ register SXFRCTL1 {
        field   ENSTIMER        0x04
        field   ACTNEGEN        0x02
        field   STPWEN          0x01    /* Powered Termination */
+       dont_generate_debug_code
 }
 
 /*
@@ -155,6 +167,7 @@ register SCSISIGO {
        mask    P_MESGOUT       CDI|MSGI
        mask    P_STATUS        CDI|IOI
        mask    P_MESGIN        CDI|IOI|MSGI
+       dont_generate_debug_code
 }
 
 /* 
@@ -194,6 +207,7 @@ register SCSIID     {
         */
        alias   SCSIOFFSET
        mask    SOFS_ULTRA2     0x7f            /* Sync offset U2 chips */
+       dont_generate_debug_code
 }
 
 /*
@@ -205,6 +219,7 @@ register SCSIID     {
 register SCSIDATL {
        address                 0x006
        access_mode RW
+       dont_generate_debug_code
 }
 
 register SCSIDATH {
@@ -223,6 +238,7 @@ register STCNT {
        address                 0x008
        size    3
        access_mode RW
+       dont_generate_debug_code
 }
 
 /* ALT_MODE registers (Ultra2 and Ultra160 chips) */
@@ -248,6 +264,7 @@ register OPTIONMODE {
        field   AUTO_MSGOUT_DE          0x02
        field   DIS_MSGIN_DUALEDGE      0x01
        mask    OPTIONMODE_DEFAULTS     AUTO_MSGOUT_DE|DIS_MSGIN_DUALEDGE
+       dont_generate_debug_code
 }
 
 /* ALT_MODE register on Ultra160 chips */
@@ -256,6 +273,7 @@ register TARGCRCCNT {
        size    2
        access_mode RW
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -271,6 +289,7 @@ register CLRSINT0 {
        field   CLRSWRAP        0x08
        field   CLRIOERR        0x08    /* Ultra2 Only */
        field   CLRSPIORDY      0x02
+       dont_generate_debug_code
 }
 
 /*
@@ -306,6 +325,7 @@ register CLRSINT1 {
        field   CLRSCSIPERR     0x04
        field   CLRPHASECHG     0x02
        field   CLRREQINIT      0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -360,6 +380,7 @@ register SCSIID_ULTRA2 {
        access_mode RW
        mask    TID             0xf0            /* Target ID mask */
        mask    OID             0x0f            /* Our ID mask */
+       dont_generate_debug_code
 }
 
 /*
@@ -425,6 +446,7 @@ register SHADDR {
        address                 0x014
        size    4
        access_mode RO
+       dont_generate_debug_code
 }
 
 /*
@@ -441,6 +463,7 @@ register SELTIMER {
        field   STAGE2          0x02
        field   STAGE1          0x01
        alias   TARGIDIN
+       dont_generate_debug_code
 }
 
 /*
@@ -453,6 +476,7 @@ register SELID {
        access_mode RW
        mask    SELID_MASK      0xf0
        field   ONEBIT          0x08
+       dont_generate_debug_code
 }
 
 register SCAMCTL {
@@ -473,6 +497,7 @@ register TARGID {
        size                    2
        access_mode RW
        count           14
+       dont_generate_debug_code
 }
 
 /*
@@ -495,6 +520,7 @@ register SPIOCAP {
        field   EEPROM          0x04    /* Writable external BIOS ROM */
        field   ROM             0x02    /* Logic for accessing external ROM */
        field   SSPIOCPS        0x01    /* Termination and cable detection */
+       dont_generate_debug_code
 }
 
 register BRDCTL        {
@@ -514,6 +540,7 @@ register BRDCTL     {
        field   BRDDAT2         0x04
        field   BRDRW_ULTRA2    0x02
        field   BRDSTB_ULTRA2   0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -551,6 +578,7 @@ register SEECTL {
        field   SEECK           0x04
        field   SEEDO           0x02
        field   SEEDI           0x01
+       dont_generate_debug_code
 }
 /*
  * SCSI Block Control (p. 3-32)
@@ -601,6 +629,7 @@ register SEQRAM {
        address                 0x061
        access_mode RW
        count           2
+       dont_generate_debug_code
 }
 
 /*
@@ -610,6 +639,7 @@ register SEQRAM {
 register SEQADDR0 {
        address                 0x062
        access_mode RW
+       dont_generate_debug_code
 }
 
 register SEQADDR1 {
@@ -617,6 +647,7 @@ register SEQADDR1 {
        access_mode RW
        count           8
        mask    SEQADDR1_MASK   0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -627,35 +658,41 @@ register ACCUM {
        address                 0x064
        access_mode RW
        accumulator
+       dont_generate_debug_code
 }
 
 register SINDEX        {
        address                 0x065
        access_mode RW
        sindex
+       dont_generate_debug_code
 }
 
 register DINDEX {
        address                 0x066
        access_mode RW
+       dont_generate_debug_code
 }
 
 register ALLONES {
        address                 0x069
        access_mode RO
        allones
+       dont_generate_debug_code
 }
 
 register ALLZEROS {
        address                 0x06a
        access_mode RO
        allzeros
+       dont_generate_debug_code
 }
 
 register NONE {
        address                 0x06a
        access_mode WO
        none
+       dont_generate_debug_code
 }
 
 register FLAGS {
@@ -664,16 +701,19 @@ register FLAGS {
        count           18
        field   ZERO            0x02
        field   CARRY           0x01
+       dont_generate_debug_code
 }
 
 register SINDIR        {
        address                 0x06c
        access_mode RO
+       dont_generate_debug_code
 }
 
 register DINDIR         {
        address                 0x06d
        access_mode WO
+       dont_generate_debug_code
 }
 
 register FUNCTION1 {
@@ -685,6 +725,7 @@ register STACK {
        address                 0x06f
        access_mode RO
        count           5
+       dont_generate_debug_code
 }
 
 const  STACK_SIZE      4
@@ -716,6 +757,7 @@ register DSCOMMAND0 {
        field   RAMPS           0x04    /* External SCB RAM Present */
        field   USCBSIZE32      0x02    /* Use 32byte SCB Page Size */
        field   CIOPARCKEN      0x01    /* Internal bus parity error enable */
+       dont_generate_debug_code
 }
 
 register DSCOMMAND1 {
@@ -724,6 +766,7 @@ register DSCOMMAND1 {
        mask    DSLATT          0xfc    /* PCI latency timer (non-ultra2) */
        field   HADDLDSEL1      0x02    /* Host Address Load Select Bits */
        field   HADDLDSEL0      0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -735,6 +778,7 @@ register BUSTIME {
        count           2
        mask    BOFF            0xf0
        mask    BON             0x0f
+       dont_generate_debug_code
 }
 
 /*
@@ -749,6 +793,7 @@ register BUSSPD {
        mask    STBON           0x07
        mask    DFTHRSH_100     0xc0
        mask    DFTHRSH_75      0x80
+       dont_generate_debug_code
 }
 
 /* aic7850/55/60/70/80/95 only */
@@ -756,6 +801,7 @@ register DSPCISTATUS {
        address                 0x086
        count           4
        mask    DFTHRSH_100     0xc0
+       dont_generate_debug_code
 }
 
 /* aic7890/91/96/97 only */
@@ -764,6 +810,7 @@ register HS_MAILBOX {
        mask    HOST_MAILBOX    0xF0
        mask    SEQ_MAILBOX     0x0F
        mask    HOST_TQINPOS    0x80    /* Boundary at either 0 or 128 */
+       dont_generate_debug_code
 }
 
 const  HOST_MAILBOX_SHIFT      4
@@ -784,6 +831,7 @@ register HCNTRL {
        field   INTEN           0x02
        field   CHIPRST         0x01
        field   CHIPRSTACK      0x01
+       dont_generate_debug_code
 }
 
 /*
@@ -795,12 +843,14 @@ register HADDR {
        address                 0x088
        size    4
        access_mode RW
+       dont_generate_debug_code
 }
 
 register HCNT {
        address                 0x08c
        size    3
        access_mode RW
+       dont_generate_debug_code
 }
 
 /*
@@ -810,6 +860,7 @@ register HCNT {
 register SCBPTR {
        address                 0x090
        access_mode RW
+       dont_generate_debug_code
 }
 
 /*
@@ -878,6 +929,7 @@ register INTSTAT {
 
        mask    SEQINT_MASK     0xf0|SEQINT     /* SEQINT Status Codes */
        mask    INT_PEND  (BRKADRINT|SEQINT|SCSIINT|CMDCMPLT)
+       dont_generate_debug_code
 }
 
 /*
@@ -911,6 +963,7 @@ register CLRINT {
        field   CLRSCSIINT      0x04
        field   CLRCMDINT       0x02
        field   CLRSEQINT       0x01
+       dont_generate_debug_code
 }
 
 register DFCNTRL {
@@ -944,6 +997,7 @@ register DFSTATUS {
 register DFWADDR {
        address                 0x95
        access_mode RW
+       dont_generate_debug_code
 }
 
 register DFRADDR {
@@ -954,6 +1008,7 @@ register DFRADDR {
 register DFDAT {
        address                 0x099
        access_mode RW
+       dont_generate_debug_code
 }
 
 /*
@@ -967,6 +1022,7 @@ register SCBCNT {
        count           1
        field   SCBAUTO         0x80
        mask    SCBCNT_MASK     0x1f
+       dont_generate_debug_code
 }
 
 /*
@@ -977,6 +1033,7 @@ register QINFIFO {
        address                 0x09b
        access_mode RW
        count           12
+       dont_generate_debug_code
 }
 
 /*
@@ -996,6 +1053,7 @@ register QOUTFIFO {
        address                 0x09d
        access_mode WO
        count           7
+       dont_generate_debug_code
 }
 
 register CRCCONTROL1 {
@@ -1008,6 +1066,7 @@ register CRCCONTROL1 {
        field   CRCREQCHKEN             0x10
        field   TARGCRCENDEN            0x08
        field   TARGCRCCNTEN            0x04
+       dont_generate_debug_code
 }
 
 
@@ -1040,6 +1099,7 @@ register SFUNCT {
        access_mode RW
        count       4
        field   ALT_MODE        0x80
+       dont_generate_debug_code
 }
 
 /*
@@ -1053,24 +1113,31 @@ scb {
                size    4
                alias   SCB_RESIDUAL_DATACNT
                alias   SCB_CDB_STORE
+               dont_generate_debug_code
        }
        SCB_RESIDUAL_SGPTR {
                size    4
+               dont_generate_debug_code
        }
        SCB_SCSI_STATUS {
                size    1
+               dont_generate_debug_code
        }
        SCB_TARGET_PHASES {
                size    1
+               dont_generate_debug_code
        }
        SCB_TARGET_DATA_DIR {
                size    1
+               dont_generate_debug_code
        }
        SCB_TARGET_ITAG {
                size    1
+               dont_generate_debug_code
        }
        SCB_DATAPTR {
                size    4
+               dont_generate_debug_code
        }
        SCB_DATACNT {
                /*
@@ -1080,12 +1147,14 @@ scb {
                size    4
                field   SG_LAST_SEG             0x80    /* In the fourth byte */
                mask    SG_HIGH_ADDR_BITS       0x7F    /* In the fourth byte */
+               dont_generate_debug_code
        }
        SCB_SGPTR {
                size    4
                field   SG_RESID_VALID  0x04    /* In the first byte */
                field   SG_FULL_RESID   0x02    /* In the first byte */
                field   SG_LIST_NULL    0x01    /* In the first byte */
+               dont_generate_debug_code
        }
        SCB_CONTROL {
                size    1
@@ -1115,22 +1184,27 @@ scb {
        }
        SCB_CDB_LEN {
                size    1
+               dont_generate_debug_code
        }
        SCB_SCSIRATE {
                size    1
+               dont_generate_debug_code
        }
        SCB_SCSIOFFSET {
                size    1
                count   1
+               dont_generate_debug_code
        }
        SCB_NEXT {
                size    1
+               dont_generate_debug_code
        }
        SCB_64_SPARE {
                size    16
        }
        SCB_64_BTT {
                size    16
+               dont_generate_debug_code
        }
 }
 
@@ -1149,6 +1223,7 @@ register SEECTL_2840 {
        field   CS_2840         0x04
        field   CK_2840         0x02
        field   DO_2840         0x01
+       dont_generate_debug_code
 }
 
 register STATUS_2840 {
@@ -1159,6 +1234,7 @@ register STATUS_2840 {
        mask    BIOS_SEL        0x60
        mask    ADSEL           0x1e
        field   DI_2840         0x01
+       dont_generate_debug_code
 }
 
 /* --------------------- AIC-7870-only definitions -------------------- */
@@ -1166,18 +1242,22 @@ register STATUS_2840 {
 register CCHADDR {
        address                 0x0E0
        size 8
+       dont_generate_debug_code
 }
 
 register CCHCNT {
        address                 0x0E8
+       dont_generate_debug_code
 }
 
 register CCSGRAM {
        address                 0x0E9
+       dont_generate_debug_code
 }
 
 register CCSGADDR {
        address                 0x0EA
+       dont_generate_debug_code
 }
 
 register CCSGCTL {
@@ -1186,11 +1266,13 @@ register CCSGCTL {
        field   CCSGEN          0x08
        field   SG_FETCH_NEEDED 0x02    /* Bit used for software state */
        field   CCSGRESET       0x01
+       dont_generate_debug_code
 }
 
 register CCSCBCNT {
        address                 0xEF
        count           1
+       dont_generate_debug_code
 }
 
 register CCSCBCTL {
@@ -1201,14 +1283,17 @@ register CCSCBCTL {
        field   CCSCBEN         0x08
        field   CCSCBDIR        0x04
        field   CCSCBRESET      0x01
+       dont_generate_debug_code
 }
 
 register CCSCBADDR {
        address                 0x0ED
+       dont_generate_debug_code
 }
 
 register CCSCBRAM {
        address                 0xEC
+       dont_generate_debug_code
 }
 
 /*
@@ -1218,23 +1303,28 @@ register SCBBADDR {
        address                 0x0F0
        access_mode RW
        count           3
+       dont_generate_debug_code
 }
 
 register CCSCBPTR {
        address                 0x0F1
+       dont_generate_debug_code
 }
 
 register HNSCB_QOFF {
        address                 0x0F4
        count           4
+       dont_generate_debug_code
 }
 
 register SNSCB_QOFF {
        address                 0x0F6
+       dont_generate_debug_code
 }
 
 register SDSCB_QOFF {
        address                 0x0F8
+       dont_generate_debug_code
 }
 
 register QOFF_CTLSTA {
@@ -1244,6 +1334,7 @@ register QOFF_CTLSTA {
        field   SDSCB_ROLLOVER  0x10
        mask    SCB_QSIZE       0x07
        mask    SCB_QSIZE_256   0x06
+       dont_generate_debug_code
 }
 
 register DFF_THRSH {
@@ -1267,6 +1358,7 @@ register DFF_THRSH {
        mask    WR_DFTHRSH_90   0x60
        mask    WR_DFTHRSH_MAX  0x70
        count   4
+       dont_generate_debug_code
 }
 
 register SG_CACHE_PRE {
@@ -1275,6 +1367,7 @@ register SG_CACHE_PRE {
        mask    SG_ADDR_MASK    0xf8
        field   LAST_SEG        0x02
        field   LAST_SEG_DONE   0x01
+       dont_generate_debug_code
 }
 
 register SG_CACHE_SHADOW {
@@ -1283,6 +1376,7 @@ register SG_CACHE_SHADOW {
        mask    SG_ADDR_MASK    0xf8
        field   LAST_SEG        0x02
        field   LAST_SEG_DONE   0x01
+       dont_generate_debug_code
 }
 /* ---------------------- Scratch RAM Offsets ------------------------- */
 /* These offsets are either to values that are initialized by the board's
@@ -1309,6 +1403,7 @@ scratch_ram {
        BUSY_TARGETS {
                alias           TARG_SCSIRATE
                size            16
+               dont_generate_debug_code
        }
        /*
         * Bit vector of targets that have ULTRA enabled as set by
@@ -1321,6 +1416,7 @@ scratch_ram {
                alias           CMDSIZE_TABLE
                size            2
                count           2
+               dont_generate_debug_code
        }
        /*
         * Bit vector of targets that have disconnection disabled as set by
@@ -1331,6 +1427,7 @@ scratch_ram {
        DISC_DSB {
                size            2
                count           6
+               dont_generate_debug_code
        }
        CMDSIZE_TABLE_TAIL {
                size            4
@@ -1341,12 +1438,14 @@ scratch_ram {
         */
        MWI_RESIDUAL {
                size            1
+               dont_generate_debug_code
        }
        /*
         * SCBID of the next SCB to be started by the controller.
         */
        NEXT_QUEUED_SCB {
                size            1
+               dont_generate_debug_code
        }
        /*
         * Single byte buffer used to designate the type or message
@@ -1354,6 +1453,7 @@ scratch_ram {
         */
        MSG_OUT {
                size            1
+               dont_generate_debug_code
        }
        /* Parameters for DMA Logic */
        DMAPARAMS {
@@ -1369,6 +1469,7 @@ scratch_ram {
                field   DIRECTION       0x04    /* Set indicates PCI->SCSI */
                field   FIFOFLUSH       0x02
                field   FIFORESET       0x01
+               dont_generate_debug_code
        }
        SEQ_FLAGS {
                size            1
@@ -1390,9 +1491,11 @@ scratch_ram {
         */
        SAVED_SCSIID {
                size            1
+               dont_generate_debug_code
        }
        SAVED_LUN {
                size            1
+               dont_generate_debug_code
        }
        /*
         * The last bus phase as seen by the sequencer. 
@@ -1417,6 +1520,7 @@ scratch_ram {
         */
        WAITING_SCBH {
                size            1
+               dont_generate_debug_code
        }
        /*
         * head of list of SCBs that are
@@ -1425,6 +1529,7 @@ scratch_ram {
         */
        DISCONNECTED_SCBH {
                size            1
+               dont_generate_debug_code
        }
        /*
         * head of list of SCBs that are
@@ -1432,6 +1537,7 @@ scratch_ram {
         */
        FREE_SCBH {
                size            1
+               dont_generate_debug_code
        }
        /*
         * head of list of SCBs that have
@@ -1446,6 +1552,7 @@ scratch_ram {
         */
        HSCB_ADDR {
                size            4
+               dont_generate_debug_code
        }
        /*
         * Base address of our shared data with the kernel driver in host
@@ -1454,15 +1561,19 @@ scratch_ram {
         */
        SHARED_DATA_ADDR {
                size            4
+               dont_generate_debug_code
        }
        KERNEL_QINPOS {
                size            1
+               dont_generate_debug_code
        }
        QINPOS {
                size            1
+               dont_generate_debug_code
        }
        QOUTPOS {
                size            1
+               dont_generate_debug_code
        }
        /*
         * Kernel and sequencer offsets into the queue of
@@ -1471,9 +1582,11 @@ scratch_ram {
         */
        KERNEL_TQINPOS {
                size            1
+               dont_generate_debug_code
        }
        TQINPOS {
                size            1
+               dont_generate_debug_code
        }
        ARG_1 {
                size            1
@@ -1486,10 +1599,12 @@ scratch_ram {
                mask    CONT_MSG_LOOP           0x04
                mask    CONT_TARG_SESSION       0x02
                alias   RETURN_1
+               dont_generate_debug_code
        }
        ARG_2 {
                size            1
                alias   RETURN_2
+               dont_generate_debug_code
        }
 
        /*
@@ -1498,6 +1613,7 @@ scratch_ram {
        LAST_MSG {
                size            1
                alias   TARG_IMMEDIATE_SCB
+               dont_generate_debug_code
        }
 
        /*
@@ -1513,6 +1629,7 @@ scratch_ram {
                field   ENAUTOATNO      0x08
                field   ENAUTOATNI      0x04
                field   ENAUTOATNP      0x02
+               dont_generate_debug_code
        }
 }
 
@@ -1533,12 +1650,14 @@ scratch_ram {
                field   HA_274_EXTENDED_TRANS   0x01
                alias   INITIATOR_TAG
                count           1
+               dont_generate_debug_code
        }
 
        SEQ_FLAGS2 {
                size    1
                field   SCB_DMA                 0x01
                field   TARGET_MSG_PENDING      0x02
+               dont_generate_debug_code
        }
 }
 
@@ -1562,6 +1681,7 @@ scratch_ram {
                field   ENSPCHK         0x20
                mask    HSCSIID         0x07    /* our SCSI ID */
                mask    HWSCSIID        0x0f    /* our SCSI ID if Wide Bus */
+               dont_generate_debug_code
        }
        INTDEF {
                address         0x05c
@@ -1569,11 +1689,13 @@ scratch_ram {
                count           1
                field   EDGE_TRIG       0x80
                mask    VECTOR          0x0f
+               dont_generate_debug_code
        }
        HOSTCONF {
                address         0x05d
                size            1
                count           1
+               dont_generate_debug_code
        }
        HA_274_BIOSCTRL {
                address         0x05f
@@ -1582,6 +1704,7 @@ scratch_ram {
                mask    BIOSMODE                0x30
                mask    BIOSDISABLED            0x30    
                field   CHANNEL_B_PRIMARY       0x08
+               dont_generate_debug_code
        }
 }
 
@@ -1595,6 +1718,7 @@ scratch_ram {
        TARG_OFFSET {
                size            16
                count           1
+               dont_generate_debug_code
        }
 }
 
index 0ae2b4605d09aa9068765486903aa19929ed7e9d..e6f2bb7365e64da1736a7a45759ddb3a2ec34638 100644 (file)
@@ -814,6 +814,7 @@ ahc_intr(struct ahc_softc *ahc)
 static void
 ahc_restart(struct ahc_softc *ahc)
 {
+       uint8_t sblkctl;
 
        ahc_pause(ahc);
 
@@ -868,6 +869,12 @@ ahc_restart(struct ahc_softc *ahc)
        ahc_outb(ahc, SEQADDR0, 0);
        ahc_outb(ahc, SEQADDR1, 0);
 
+       /*
+        * Take the LED out of diagnostic mode on PM resume, too
+        */
+       sblkctl = ahc_inb(ahc, SBLKCTL);
+       ahc_outb(ahc, SBLKCTL, (sblkctl & ~(DIAGLEDEN|DIAGLEDON)));
+
        ahc_unpause(ahc);
 }
 
index 2ce1febca207c27d5695626a5316c6d1ceb8c17c..e821082a4f47a23db505a829b47c1cfe47eafe26 100644 (file)
@@ -26,20 +26,6 @@ ahc_reg_print_t ahc_sxfrctl0_print;
     ahc_print_register(NULL, 0, "SXFRCTL0", 0x01, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sxfrctl1_print;
-#else
-#define ahc_sxfrctl1_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SXFRCTL1", 0x02, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsisigo_print;
-#else
-#define ahc_scsisigo_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSISIGO", 0x03, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_scsisigi_print;
 #else
@@ -54,55 +40,6 @@ ahc_reg_print_t ahc_scsirate_print;
     ahc_print_register(NULL, 0, "SCSIRATE", 0x04, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsiid_print;
-#else
-#define ahc_scsiid_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSIID", 0x05, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsidatl_print;
-#else
-#define ahc_scsidatl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSIDATL", 0x06, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsidath_print;
-#else
-#define ahc_scsidath_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSIDATH", 0x07, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_stcnt_print;
-#else
-#define ahc_stcnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "STCNT", 0x08, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_optionmode_print;
-#else
-#define ahc_optionmode_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "OPTIONMODE", 0x08, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_targcrccnt_print;
-#else
-#define ahc_targcrccnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "TARGCRCCNT", 0x0a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_clrsint0_print;
-#else
-#define ahc_clrsint0_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CLRSINT0", 0x0b, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_sstat0_print;
 #else
@@ -110,13 +47,6 @@ ahc_reg_print_t ahc_sstat0_print;
     ahc_print_register(NULL, 0, "SSTAT0", 0x0b, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_clrsint1_print;
-#else
-#define ahc_clrsint1_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CLRSINT1", 0x0c, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_sstat1_print;
 #else
@@ -138,13 +68,6 @@ ahc_reg_print_t ahc_sstat3_print;
     ahc_print_register(NULL, 0, "SSTAT3", 0x0e, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsiid_ultra2_print;
-#else
-#define ahc_scsiid_ultra2_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSIID_ULTRA2", 0x0f, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_simode0_print;
 #else
@@ -166,76 +89,6 @@ ahc_reg_print_t ahc_scsibusl_print;
     ahc_print_register(NULL, 0, "SCSIBUSL", 0x12, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsibush_print;
-#else
-#define ahc_scsibush_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSIBUSH", 0x13, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sxfrctl2_print;
-#else
-#define ahc_sxfrctl2_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SXFRCTL2", 0x13, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_shaddr_print;
-#else
-#define ahc_shaddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SHADDR", 0x14, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_seltimer_print;
-#else
-#define ahc_seltimer_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SELTIMER", 0x18, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_selid_print;
-#else
-#define ahc_selid_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SELID", 0x19, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scamctl_print;
-#else
-#define ahc_scamctl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCAMCTL", 0x1a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_targid_print;
-#else
-#define ahc_targid_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "TARGID", 0x1b, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_spiocap_print;
-#else
-#define ahc_spiocap_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SPIOCAP", 0x1b, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_brdctl_print;
-#else
-#define ahc_brdctl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "BRDCTL", 0x1d, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_seectl_print;
-#else
-#define ahc_seectl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SEECTL", 0x1e, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_sblkctl_print;
 #else
@@ -243,62 +96,6 @@ ahc_reg_print_t ahc_sblkctl_print;
     ahc_print_register(NULL, 0, "SBLKCTL", 0x1f, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_busy_targets_print;
-#else
-#define ahc_busy_targets_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "BUSY_TARGETS", 0x20, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ultra_enb_print;
-#else
-#define ahc_ultra_enb_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "ULTRA_ENB", 0x30, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_disc_dsb_print;
-#else
-#define ahc_disc_dsb_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DISC_DSB", 0x32, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_cmdsize_table_tail_print;
-#else
-#define ahc_cmdsize_table_tail_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CMDSIZE_TABLE_TAIL", 0x34, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_mwi_residual_print;
-#else
-#define ahc_mwi_residual_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "MWI_RESIDUAL", 0x38, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_next_queued_scb_print;
-#else
-#define ahc_next_queued_scb_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "NEXT_QUEUED_SCB", 0x39, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_msg_out_print;
-#else
-#define ahc_msg_out_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "MSG_OUT", 0x3a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dmaparams_print;
-#else
-#define ahc_dmaparams_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DMAPARAMS", 0x3b, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_seq_flags_print;
 #else
@@ -306,20 +103,6 @@ ahc_reg_print_t ahc_seq_flags_print;
     ahc_print_register(NULL, 0, "SEQ_FLAGS", 0x3c, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_saved_scsiid_print;
-#else
-#define ahc_saved_scsiid_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SAVED_SCSIID", 0x3d, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_saved_lun_print;
-#else
-#define ahc_saved_lun_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SAVED_LUN", 0x3e, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_lastphase_print;
 #else
@@ -327,153 +110,6 @@ ahc_reg_print_t ahc_lastphase_print;
     ahc_print_register(NULL, 0, "LASTPHASE", 0x3f, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_waiting_scbh_print;
-#else
-#define ahc_waiting_scbh_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "WAITING_SCBH", 0x40, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_disconnected_scbh_print;
-#else
-#define ahc_disconnected_scbh_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DISCONNECTED_SCBH", 0x41, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_free_scbh_print;
-#else
-#define ahc_free_scbh_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "FREE_SCBH", 0x42, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_complete_scbh_print;
-#else
-#define ahc_complete_scbh_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "COMPLETE_SCBH", 0x43, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_hscb_addr_print;
-#else
-#define ahc_hscb_addr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HSCB_ADDR", 0x44, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_shared_data_addr_print;
-#else
-#define ahc_shared_data_addr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SHARED_DATA_ADDR", 0x48, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_kernel_qinpos_print;
-#else
-#define ahc_kernel_qinpos_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "KERNEL_QINPOS", 0x4c, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_qinpos_print;
-#else
-#define ahc_qinpos_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "QINPOS", 0x4d, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_qoutpos_print;
-#else
-#define ahc_qoutpos_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "QOUTPOS", 0x4e, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_kernel_tqinpos_print;
-#else
-#define ahc_kernel_tqinpos_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "KERNEL_TQINPOS", 0x4f, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_tqinpos_print;
-#else
-#define ahc_tqinpos_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "TQINPOS", 0x50, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_arg_1_print;
-#else
-#define ahc_arg_1_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "ARG_1", 0x51, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_arg_2_print;
-#else
-#define ahc_arg_2_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "ARG_2", 0x52, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_last_msg_print;
-#else
-#define ahc_last_msg_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "LAST_MSG", 0x53, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsiseq_template_print;
-#else
-#define ahc_scsiseq_template_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSISEQ_TEMPLATE", 0x54, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ha_274_biosglobal_print;
-#else
-#define ahc_ha_274_biosglobal_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HA_274_BIOSGLOBAL", 0x56, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_seq_flags2_print;
-#else
-#define ahc_seq_flags2_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SEQ_FLAGS2", 0x57, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scsiconf_print;
-#else
-#define ahc_scsiconf_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCSICONF", 0x5a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_intdef_print;
-#else
-#define ahc_intdef_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "INTDEF", 0x5c, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_hostconf_print;
-#else
-#define ahc_hostconf_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HOSTCONF", 0x5d, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ha_274_biosctrl_print;
-#else
-#define ahc_ha_274_biosctrl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HA_274_BIOSCTRL", 0x5f, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_seqctl_print;
 #else
@@ -481,111 +117,6 @@ ahc_reg_print_t ahc_seqctl_print;
     ahc_print_register(NULL, 0, "SEQCTL", 0x60, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_seqram_print;
-#else
-#define ahc_seqram_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SEQRAM", 0x61, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_seqaddr0_print;
-#else
-#define ahc_seqaddr0_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SEQADDR0", 0x62, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_seqaddr1_print;
-#else
-#define ahc_seqaddr1_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SEQADDR1", 0x63, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_accum_print;
-#else
-#define ahc_accum_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "ACCUM", 0x64, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sindex_print;
-#else
-#define ahc_sindex_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SINDEX", 0x65, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dindex_print;
-#else
-#define ahc_dindex_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DINDEX", 0x66, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_allones_print;
-#else
-#define ahc_allones_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "ALLONES", 0x69, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_allzeros_print;
-#else
-#define ahc_allzeros_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "ALLZEROS", 0x6a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_none_print;
-#else
-#define ahc_none_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "NONE", 0x6a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_flags_print;
-#else
-#define ahc_flags_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "FLAGS", 0x6b, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sindir_print;
-#else
-#define ahc_sindir_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SINDIR", 0x6c, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dindir_print;
-#else
-#define ahc_dindir_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DINDIR", 0x6d, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_function1_print;
-#else
-#define ahc_function1_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "FUNCTION1", 0x6e, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_stack_print;
-#else
-#define ahc_stack_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "STACK", 0x6f, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_targ_offset_print;
-#else
-#define ahc_targ_offset_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "TARG_OFFSET", 0x70, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_sram_base_print;
 #else
@@ -593,97 +124,6 @@ ahc_reg_print_t ahc_sram_base_print;
     ahc_print_register(NULL, 0, "SRAM_BASE", 0x70, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_bctl_print;
-#else
-#define ahc_bctl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "BCTL", 0x84, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dscommand0_print;
-#else
-#define ahc_dscommand0_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DSCOMMAND0", 0x84, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_bustime_print;
-#else
-#define ahc_bustime_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "BUSTIME", 0x85, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dscommand1_print;
-#else
-#define ahc_dscommand1_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DSCOMMAND1", 0x85, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_busspd_print;
-#else
-#define ahc_busspd_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "BUSSPD", 0x86, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_hs_mailbox_print;
-#else
-#define ahc_hs_mailbox_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HS_MAILBOX", 0x86, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dspcistatus_print;
-#else
-#define ahc_dspcistatus_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DSPCISTATUS", 0x86, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_hcntrl_print;
-#else
-#define ahc_hcntrl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HCNTRL", 0x87, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_haddr_print;
-#else
-#define ahc_haddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HADDR", 0x88, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_hcnt_print;
-#else
-#define ahc_hcnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HCNT", 0x8c, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scbptr_print;
-#else
-#define ahc_scbptr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCBPTR", 0x90, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_intstat_print;
-#else
-#define ahc_intstat_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "INTSTAT", 0x91, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_clrint_print;
-#else
-#define ahc_clrint_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CLRINT", 0x92, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_error_print;
 #else
@@ -705,69 +145,6 @@ ahc_reg_print_t ahc_dfstatus_print;
     ahc_print_register(NULL, 0, "DFSTATUS", 0x94, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dfwaddr_print;
-#else
-#define ahc_dfwaddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DFWADDR", 0x95, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dfraddr_print;
-#else
-#define ahc_dfraddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DFRADDR", 0x97, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dfdat_print;
-#else
-#define ahc_dfdat_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DFDAT", 0x99, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scbcnt_print;
-#else
-#define ahc_scbcnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCBCNT", 0x9a, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_qinfifo_print;
-#else
-#define ahc_qinfifo_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "QINFIFO", 0x9b, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_qincnt_print;
-#else
-#define ahc_qincnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "QINCNT", 0x9c, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_qoutfifo_print;
-#else
-#define ahc_qoutfifo_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "QOUTFIFO", 0x9d, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_crccontrol1_print;
-#else
-#define ahc_crccontrol1_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CRCCONTROL1", 0x9d, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_qoutcnt_print;
-#else
-#define ahc_qoutcnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "QOUTCNT", 0x9e, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_scsiphase_print;
 #else
@@ -775,13 +152,6 @@ ahc_reg_print_t ahc_scsiphase_print;
     ahc_print_register(NULL, 0, "SCSIPHASE", 0x9e, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sfunct_print;
-#else
-#define ahc_sfunct_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SFUNCT", 0x9f, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_scb_base_print;
 #else
@@ -789,69 +159,6 @@ ahc_reg_print_t ahc_scb_base_print;
     ahc_print_register(NULL, 0, "SCB_BASE", 0xa0, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_cdb_ptr_print;
-#else
-#define ahc_scb_cdb_ptr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_CDB_PTR", 0xa0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_residual_sgptr_print;
-#else
-#define ahc_scb_residual_sgptr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_RESIDUAL_SGPTR", 0xa4, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_scsi_status_print;
-#else
-#define ahc_scb_scsi_status_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_SCSI_STATUS", 0xa8, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_target_phases_print;
-#else
-#define ahc_scb_target_phases_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_TARGET_PHASES", 0xa9, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_target_data_dir_print;
-#else
-#define ahc_scb_target_data_dir_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_TARGET_DATA_DIR", 0xaa, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_target_itag_print;
-#else
-#define ahc_scb_target_itag_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_TARGET_ITAG", 0xab, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_dataptr_print;
-#else
-#define ahc_scb_dataptr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_DATAPTR", 0xac, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_datacnt_print;
-#else
-#define ahc_scb_datacnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_DATACNT", 0xb0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_sgptr_print;
-#else
-#define ahc_scb_sgptr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_SGPTR", 0xb4, regvalue, cur_col, wrap)
-#endif
-
 #if AIC_DEBUG_REGISTERS
 ahc_reg_print_t ahc_scb_control_print;
 #else
@@ -880,188 +187,6 @@ ahc_reg_print_t ahc_scb_tag_print;
     ahc_print_register(NULL, 0, "SCB_TAG", 0xbb, regvalue, cur_col, wrap)
 #endif
 
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_cdb_len_print;
-#else
-#define ahc_scb_cdb_len_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_CDB_LEN", 0xbc, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_scsirate_print;
-#else
-#define ahc_scb_scsirate_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_SCSIRATE", 0xbd, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_scsioffset_print;
-#else
-#define ahc_scb_scsioffset_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_SCSIOFFSET", 0xbe, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_next_print;
-#else
-#define ahc_scb_next_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_NEXT", 0xbf, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_64_spare_print;
-#else
-#define ahc_scb_64_spare_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_64_SPARE", 0xc0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_seectl_2840_print;
-#else
-#define ahc_seectl_2840_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SEECTL_2840", 0xc0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_status_2840_print;
-#else
-#define ahc_status_2840_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "STATUS_2840", 0xc1, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scb_64_btt_print;
-#else
-#define ahc_scb_64_btt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCB_64_BTT", 0xd0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_cchaddr_print;
-#else
-#define ahc_cchaddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCHADDR", 0xe0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_cchcnt_print;
-#else
-#define ahc_cchcnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCHCNT", 0xe8, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccsgram_print;
-#else
-#define ahc_ccsgram_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSGRAM", 0xe9, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccsgaddr_print;
-#else
-#define ahc_ccsgaddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSGADDR", 0xea, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccsgctl_print;
-#else
-#define ahc_ccsgctl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSGCTL", 0xeb, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccscbram_print;
-#else
-#define ahc_ccscbram_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSCBRAM", 0xec, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccscbaddr_print;
-#else
-#define ahc_ccscbaddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSCBADDR", 0xed, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccscbctl_print;
-#else
-#define ahc_ccscbctl_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSCBCTL", 0xee, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccscbcnt_print;
-#else
-#define ahc_ccscbcnt_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSCBCNT", 0xef, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_scbbaddr_print;
-#else
-#define ahc_scbbaddr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SCBBADDR", 0xf0, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_ccscbptr_print;
-#else
-#define ahc_ccscbptr_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "CCSCBPTR", 0xf1, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_hnscb_qoff_print;
-#else
-#define ahc_hnscb_qoff_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "HNSCB_QOFF", 0xf4, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_snscb_qoff_print;
-#else
-#define ahc_snscb_qoff_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SNSCB_QOFF", 0xf6, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sdscb_qoff_print;
-#else
-#define ahc_sdscb_qoff_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SDSCB_QOFF", 0xf8, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_qoff_ctlsta_print;
-#else
-#define ahc_qoff_ctlsta_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "QOFF_CTLSTA", 0xfa, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_dff_thrsh_print;
-#else
-#define ahc_dff_thrsh_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "DFF_THRSH", 0xfb, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sg_cache_shadow_print;
-#else
-#define ahc_sg_cache_shadow_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SG_CACHE_SHADOW", 0xfc, regvalue, cur_col, wrap)
-#endif
-
-#if AIC_DEBUG_REGISTERS
-ahc_reg_print_t ahc_sg_cache_pre_print;
-#else
-#define ahc_sg_cache_pre_print(regvalue, cur_col, wrap) \
-    ahc_print_register(NULL, 0, "SG_CACHE_PRE", 0xfc, regvalue, cur_col, wrap)
-#endif
-
 
 #define        SCSISEQ                         0x00
 #define                TEMODE                  0x80
index 309a562b009ef284294ff27fbbe6ea7950dc2cab..9f9b88047d0c610aee6c06d6cbcde7e19965171e 100644 (file)
@@ -43,48 +43,6 @@ ahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x01, regvalue, cur_col, wrap));
 }
 
-static const ahc_reg_parse_entry_t SXFRCTL1_parse_table[] = {
-       { "STPWEN",             0x01, 0x01 },
-       { "ACTNEGEN",           0x02, 0x02 },
-       { "ENSTIMER",           0x04, 0x04 },
-       { "ENSPCHK",            0x20, 0x20 },
-       { "SWRAPEN",            0x40, 0x40 },
-       { "BITBUCKET",          0x80, 0x80 },
-       { "STIMESEL",           0x18, 0x18 }
-};
-
-int
-ahc_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1",
-           0x02, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCSISIGO_parse_table[] = {
-       { "ACKO",               0x01, 0x01 },
-       { "REQO",               0x02, 0x02 },
-       { "BSYO",               0x04, 0x04 },
-       { "SELO",               0x08, 0x08 },
-       { "ATNO",               0x10, 0x10 },
-       { "MSGO",               0x20, 0x20 },
-       { "IOO",                0x40, 0x40 },
-       { "CDO",                0x80, 0x80 },
-       { "P_DATAOUT",          0x00, 0x00 },
-       { "P_DATAIN",           0x40, 0x40 },
-       { "P_COMMAND",          0x80, 0x80 },
-       { "P_MESGOUT",          0xa0, 0xa0 },
-       { "P_STATUS",           0xc0, 0xc0 },
-       { "PHASE_MASK",         0xe0, 0xe0 },
-       { "P_MESGIN",           0xe0, 0xe0 }
-};
-
-int
-ahc_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCSISIGO_parse_table, 15, "SCSISIGO",
-           0x03, regvalue, cur_col, wrap));
-}
-
 static const ahc_reg_parse_entry_t SCSISIGI_parse_table[] = {
        { "ACKI",               0x01, 0x01 },
        { "REQI",               0x02, 0x02 },
@@ -128,77 +86,6 @@ ahc_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x04, regvalue, cur_col, wrap));
 }
 
-static const ahc_reg_parse_entry_t SCSIID_parse_table[] = {
-       { "TWIN_CHNLB",         0x80, 0x80 },
-       { "OID",                0x0f, 0x0f },
-       { "TWIN_TID",           0x70, 0x70 },
-       { "SOFS_ULTRA2",        0x7f, 0x7f },
-       { "TID",                0xf0, 0xf0 }
-};
-
-int
-ahc_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCSIID_parse_table, 5, "SCSIID",
-           0x05, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scsidatl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCSIDATL",
-           0x06, regvalue, cur_col, wrap));
-}
-
-int
-ahc_stcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "STCNT",
-           0x08, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t OPTIONMODE_parse_table[] = {
-       { "DIS_MSGIN_DUALEDGE", 0x01, 0x01 },
-       { "AUTO_MSGOUT_DE",     0x02, 0x02 },
-       { "SCSIDATL_IMGEN",     0x04, 0x04 },
-       { "EXPPHASEDIS",        0x08, 0x08 },
-       { "BUSFREEREV",         0x10, 0x10 },
-       { "ATNMGMNTEN",         0x20, 0x20 },
-       { "AUTOACKEN",          0x40, 0x40 },
-       { "AUTORATEEN",         0x80, 0x80 },
-       { "OPTIONMODE_DEFAULTS",0x03, 0x03 }
-};
-
-int
-ahc_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(OPTIONMODE_parse_table, 9, "OPTIONMODE",
-           0x08, regvalue, cur_col, wrap));
-}
-
-int
-ahc_targcrccnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "TARGCRCCNT",
-           0x0a, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t CLRSINT0_parse_table[] = {
-       { "CLRSPIORDY",         0x02, 0x02 },
-       { "CLRSWRAP",           0x08, 0x08 },
-       { "CLRIOERR",           0x08, 0x08 },
-       { "CLRSELINGO",         0x10, 0x10 },
-       { "CLRSELDI",           0x20, 0x20 },
-       { "CLRSELDO",           0x40, 0x40 }
-};
-
-int
-ahc_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(CLRSINT0_parse_table, 6, "CLRSINT0",
-           0x0b, regvalue, cur_col, wrap));
-}
-
 static const ahc_reg_parse_entry_t SSTAT0_parse_table[] = {
        { "DMADONE",            0x01, 0x01 },
        { "SPIORDY",            0x02, 0x02 },
@@ -218,23 +105,6 @@ ahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x0b, regvalue, cur_col, wrap));
 }
 
-static const ahc_reg_parse_entry_t CLRSINT1_parse_table[] = {
-       { "CLRREQINIT",         0x01, 0x01 },
-       { "CLRPHASECHG",        0x02, 0x02 },
-       { "CLRSCSIPERR",        0x04, 0x04 },
-       { "CLRBUSFREE",         0x08, 0x08 },
-       { "CLRSCSIRSTI",        0x20, 0x20 },
-       { "CLRATNO",            0x40, 0x40 },
-       { "CLRSELTIMEO",        0x80, 0x80 }
-};
-
-int
-ahc_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
-           0x0c, regvalue, cur_col, wrap));
-}
-
 static const ahc_reg_parse_entry_t SSTAT1_parse_table[] = {
        { "REQINIT",            0x01, 0x01 },
        { "PHASECHG",           0x02, 0x02 },
@@ -284,18 +154,6 @@ ahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x0e, regvalue, cur_col, wrap));
 }
 
-static const ahc_reg_parse_entry_t SCSIID_ULTRA2_parse_table[] = {
-       { "OID",                0x0f, 0x0f },
-       { "TID",                0xf0, 0xf0 }
-};
-
-int
-ahc_scsiid_ultra2_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCSIID_ULTRA2_parse_table, 2, "SCSIID_ULTRA2",
-           0x0f, regvalue, cur_col, wrap));
-}
-
 static const ahc_reg_parse_entry_t SIMODE0_parse_table[] = {
        { "ENDMADONE",          0x01, 0x01 },
        { "ENSPIORDY",          0x02, 0x02 },
@@ -339,107 +197,6 @@ ahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x12, regvalue, cur_col, wrap));
 }
 
-int
-ahc_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SHADDR",
-           0x14, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SELTIMER_parse_table[] = {
-       { "STAGE1",             0x01, 0x01 },
-       { "STAGE2",             0x02, 0x02 },
-       { "STAGE3",             0x04, 0x04 },
-       { "STAGE4",             0x08, 0x08 },
-       { "STAGE5",             0x10, 0x10 },
-       { "STAGE6",             0x20, 0x20 }
-};
-
-int
-ahc_seltimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SELTIMER_parse_table, 6, "SELTIMER",
-           0x18, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SELID_parse_table[] = {
-       { "ONEBIT",             0x08, 0x08 },
-       { "SELID_MASK",         0xf0, 0xf0 }
-};
-
-int
-ahc_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SELID_parse_table, 2, "SELID",
-           0x19, regvalue, cur_col, wrap));
-}
-
-int
-ahc_targid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "TARGID",
-           0x1b, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SPIOCAP_parse_table[] = {
-       { "SSPIOCPS",           0x01, 0x01 },
-       { "ROM",                0x02, 0x02 },
-       { "EEPROM",             0x04, 0x04 },
-       { "SEEPROM",            0x08, 0x08 },
-       { "EXT_BRDCTL",         0x10, 0x10 },
-       { "SOFTCMDEN",          0x20, 0x20 },
-       { "SOFT0",              0x40, 0x40 },
-       { "SOFT1",              0x80, 0x80 }
-};
-
-int
-ahc_spiocap_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SPIOCAP_parse_table, 8, "SPIOCAP",
-           0x1b, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t BRDCTL_parse_table[] = {
-       { "BRDCTL0",            0x01, 0x01 },
-       { "BRDSTB_ULTRA2",      0x01, 0x01 },
-       { "BRDCTL1",            0x02, 0x02 },
-       { "BRDRW_ULTRA2",       0x02, 0x02 },
-       { "BRDRW",              0x04, 0x04 },
-       { "BRDDAT2",            0x04, 0x04 },
-       { "BRDCS",              0x08, 0x08 },
-       { "BRDDAT3",            0x08, 0x08 },
-       { "BRDSTB",             0x10, 0x10 },
-       { "BRDDAT4",            0x10, 0x10 },
-       { "BRDDAT5",            0x20, 0x20 },
-       { "BRDDAT6",            0x40, 0x40 },
-       { "BRDDAT7",            0x80, 0x80 }
-};
-
-int
-ahc_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(BRDCTL_parse_table, 13, "BRDCTL",
-           0x1d, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SEECTL_parse_table[] = {
-       { "SEEDI",              0x01, 0x01 },
-       { "SEEDO",              0x02, 0x02 },
-       { "SEECK",              0x04, 0x04 },
-       { "SEECS",              0x08, 0x08 },
-       { "SEERDY",             0x10, 0x10 },
-       { "SEEMS",              0x20, 0x20 },
-       { "EXTARBREQ",          0x40, 0x40 },
-       { "EXTARBACK",          0x80, 0x80 }
-};
-
-int
-ahc_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SEECTL_parse_table, 8, "SEECTL",
-           0x1e, regvalue, cur_col, wrap));
-}
-
 static const ahc_reg_parse_entry_t SBLKCTL_parse_table[] = {
        { "XCVR",               0x01, 0x01 },
        { "SELWIDE",            0x02, 0x02 },
@@ -458,68 +215,6 @@ ahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x1f, regvalue, cur_col, wrap));
 }
 
-int
-ahc_busy_targets_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "BUSY_TARGETS",
-           0x20, regvalue, cur_col, wrap));
-}
-
-int
-ahc_ultra_enb_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "ULTRA_ENB",
-           0x30, regvalue, cur_col, wrap));
-}
-
-int
-ahc_disc_dsb_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "DISC_DSB",
-           0x32, regvalue, cur_col, wrap));
-}
-
-int
-ahc_mwi_residual_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "MWI_RESIDUAL",
-           0x38, regvalue, cur_col, wrap));
-}
-
-int
-ahc_next_queued_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "NEXT_QUEUED_SCB",
-           0x39, regvalue, cur_col, wrap));
-}
-
-int
-ahc_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "MSG_OUT",
-           0x3a, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t DMAPARAMS_parse_table[] = {
-       { "FIFORESET",          0x01, 0x01 },
-       { "FIFOFLUSH",          0x02, 0x02 },
-       { "DIRECTION",          0x04, 0x04 },
-       { "HDMAEN",             0x08, 0x08 },
-       { "HDMAENACK",          0x08, 0x08 },
-       { "SDMAEN",             0x10, 0x10 },
-       { "SDMAENACK",          0x10, 0x10 },
-       { "SCSIEN",             0x20, 0x20 },
-       { "WIDEODD",            0x40, 0x40 },
-       { "PRELOADEN",          0x80, 0x80 }
-};
-
-int
-ahc_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
-           0x3b, regvalue, cur_col, wrap));
-}
-
 static const ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
        { "NO_DISCONNECT",      0x01, 0x01 },
        { "SPHASE_PENDING",     0x02, 0x02 },
@@ -539,20 +234,6 @@ ahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x3c, regvalue, cur_col, wrap));
 }
 
-int
-ahc_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SAVED_SCSIID",
-           0x3d, regvalue, cur_col, wrap));
-}
-
-int
-ahc_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SAVED_LUN",
-           0x3e, regvalue, cur_col, wrap));
-}
-
 static const ahc_reg_parse_entry_t LASTPHASE_parse_table[] = {
        { "MSGI",               0x20, 0x20 },
        { "IOI",                0x40, 0x40 },
@@ -574,728 +255,127 @@ ahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0x3f, regvalue, cur_col, wrap));
 }
 
-int
-ahc_waiting_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "WAITING_SCBH",
-           0x40, regvalue, cur_col, wrap));
-}
+static const ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
+       { "LOADRAM",            0x01, 0x01 },
+       { "SEQRESET",           0x02, 0x02 },
+       { "STEP",               0x04, 0x04 },
+       { "BRKADRINTEN",        0x08, 0x08 },
+       { "FASTMODE",           0x10, 0x10 },
+       { "FAILDIS",            0x20, 0x20 },
+       { "PAUSEDIS",           0x40, 0x40 },
+       { "PERRORDIS",          0x80, 0x80 }
+};
 
 int
-ahc_disconnected_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "DISCONNECTED_SCBH",
-           0x41, regvalue, cur_col, wrap));
+       return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
+           0x60, regvalue, cur_col, wrap));
 }
 
 int
-ahc_free_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "FREE_SCBH",
-           0x42, regvalue, cur_col, wrap));
+       return (ahc_print_register(NULL, 0, "SRAM_BASE",
+           0x70, regvalue, cur_col, wrap));
 }
 
-int
-ahc_hscb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "HSCB_ADDR",
-           0x44, regvalue, cur_col, wrap));
-}
+static const ahc_reg_parse_entry_t ERROR_parse_table[] = {
+       { "ILLHADDR",           0x01, 0x01 },
+       { "ILLSADDR",           0x02, 0x02 },
+       { "ILLOPCODE",          0x04, 0x04 },
+       { "SQPARERR",           0x08, 0x08 },
+       { "DPARERR",            0x10, 0x10 },
+       { "MPARERR",            0x20, 0x20 },
+       { "PCIERRSTAT",         0x40, 0x40 },
+       { "CIOPARERR",          0x80, 0x80 }
+};
 
 int
-ahc_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "SHARED_DATA_ADDR",
-           0x48, regvalue, cur_col, wrap));
+       return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
+           0x92, regvalue, cur_col, wrap));
 }
 
-int
-ahc_kernel_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "KERNEL_QINPOS",
-           0x4c, regvalue, cur_col, wrap));
-}
+static const ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
+       { "FIFORESET",          0x01, 0x01 },
+       { "FIFOFLUSH",          0x02, 0x02 },
+       { "DIRECTION",          0x04, 0x04 },
+       { "HDMAEN",             0x08, 0x08 },
+       { "HDMAENACK",          0x08, 0x08 },
+       { "SDMAEN",             0x10, 0x10 },
+       { "SDMAENACK",          0x10, 0x10 },
+       { "SCSIEN",             0x20, 0x20 },
+       { "WIDEODD",            0x40, 0x40 },
+       { "PRELOADEN",          0x80, 0x80 }
+};
 
 int
-ahc_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "QINPOS",
-           0x4d, regvalue, cur_col, wrap));
+       return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
+           0x93, regvalue, cur_col, wrap));
 }
 
+static const ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
+       { "FIFOEMP",            0x01, 0x01 },
+       { "FIFOFULL",           0x02, 0x02 },
+       { "DFTHRESH",           0x04, 0x04 },
+       { "HDONE",              0x08, 0x08 },
+       { "MREQPEND",           0x10, 0x10 },
+       { "FIFOQWDEMP",         0x20, 0x20 },
+       { "DFCACHETH",          0x40, 0x40 },
+       { "PRELOAD_AVAIL",      0x80, 0x80 }
+};
+
 int
-ahc_qoutpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "QOUTPOS",
-           0x4e, regvalue, cur_col, wrap));
+       return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
+           0x94, regvalue, cur_col, wrap));
 }
 
+static const ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
+       { "DATA_OUT_PHASE",     0x01, 0x01 },
+       { "DATA_IN_PHASE",      0x02, 0x02 },
+       { "MSG_OUT_PHASE",      0x04, 0x04 },
+       { "MSG_IN_PHASE",       0x08, 0x08 },
+       { "COMMAND_PHASE",      0x10, 0x10 },
+       { "STATUS_PHASE",       0x20, 0x20 },
+       { "DATA_PHASE_MASK",    0x03, 0x03 }
+};
+
 int
-ahc_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "KERNEL_TQINPOS",
-           0x4f, regvalue, cur_col, wrap));
+       return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
+           0x9e, regvalue, cur_col, wrap));
 }
 
 int
-ahc_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "TQINPOS",
-           0x50, regvalue, cur_col, wrap));
+       return (ahc_print_register(NULL, 0, "SCB_BASE",
+           0xa0, regvalue, cur_col, wrap));
 }
 
-static const ahc_reg_parse_entry_t ARG_1_parse_table[] = {
-       { "CONT_TARG_SESSION",  0x02, 0x02 },
-       { "CONT_MSG_LOOP",      0x04, 0x04 },
-       { "EXIT_MSG_LOOP",      0x08, 0x08 },
-       { "MSGOUT_PHASEMIS",    0x10, 0x10 },
-       { "SEND_REJ",           0x20, 0x20 },
-       { "SEND_SENSE",         0x40, 0x40 },
-       { "SEND_MSG",           0x80, 0x80 }
+static const ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
+       { "DISCONNECTED",       0x04, 0x04 },
+       { "ULTRAENB",           0x08, 0x08 },
+       { "MK_MESSAGE",         0x10, 0x10 },
+       { "TAG_ENB",            0x20, 0x20 },
+       { "DISCENB",            0x40, 0x40 },
+       { "TARGET_SCB",         0x80, 0x80 },
+       { "STATUS_RCVD",        0x80, 0x80 },
+       { "SCB_TAG_TYPE",       0x03, 0x03 }
 };
 
 int
-ahc_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(ARG_1_parse_table, 7, "ARG_1",
-           0x51, regvalue, cur_col, wrap));
-}
-
-int
-ahc_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
+ahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
 {
-       return (ahc_print_register(NULL, 0, "ARG_2",
-           0x52, regvalue, cur_col, wrap));
-}
-
-int
-ahc_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "LAST_MSG",
-           0x53, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
-       { "ENAUTOATNP",         0x02, 0x02 },
-       { "ENAUTOATNI",         0x04, 0x04 },
-       { "ENAUTOATNO",         0x08, 0x08 },
-       { "ENRSELI",            0x10, 0x10 },
-       { "ENSELI",             0x20, 0x20 },
-       { "ENSELO",             0x40, 0x40 }
-};
-
-int
-ahc_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
-           0x54, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t HA_274_BIOSGLOBAL_parse_table[] = {
-       { "HA_274_EXTENDED_TRANS",0x01, 0x01 }
-};
-
-int
-ahc_ha_274_biosglobal_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(HA_274_BIOSGLOBAL_parse_table, 1, "HA_274_BIOSGLOBAL",
-           0x56, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
-       { "SCB_DMA",            0x01, 0x01 },
-       { "TARGET_MSG_PENDING", 0x02, 0x02 }
-};
-
-int
-ahc_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SEQ_FLAGS2_parse_table, 2, "SEQ_FLAGS2",
-           0x57, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCSICONF_parse_table[] = {
-       { "ENSPCHK",            0x20, 0x20 },
-       { "RESET_SCSI",         0x40, 0x40 },
-       { "TERM_ENB",           0x80, 0x80 },
-       { "HSCSIID",            0x07, 0x07 },
-       { "HWSCSIID",           0x0f, 0x0f }
-};
-
-int
-ahc_scsiconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCSICONF_parse_table, 5, "SCSICONF",
-           0x5a, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t INTDEF_parse_table[] = {
-       { "EDGE_TRIG",          0x80, 0x80 },
-       { "VECTOR",             0x0f, 0x0f }
-};
-
-int
-ahc_intdef_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(INTDEF_parse_table, 2, "INTDEF",
-           0x5c, regvalue, cur_col, wrap));
-}
-
-int
-ahc_hostconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "HOSTCONF",
-           0x5d, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t HA_274_BIOSCTRL_parse_table[] = {
-       { "CHANNEL_B_PRIMARY",  0x08, 0x08 },
-       { "BIOSMODE",           0x30, 0x30 },
-       { "BIOSDISABLED",       0x30, 0x30 }
-};
-
-int
-ahc_ha_274_biosctrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(HA_274_BIOSCTRL_parse_table, 3, "HA_274_BIOSCTRL",
-           0x5f, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
-       { "LOADRAM",            0x01, 0x01 },
-       { "SEQRESET",           0x02, 0x02 },
-       { "STEP",               0x04, 0x04 },
-       { "BRKADRINTEN",        0x08, 0x08 },
-       { "FASTMODE",           0x10, 0x10 },
-       { "FAILDIS",            0x20, 0x20 },
-       { "PAUSEDIS",           0x40, 0x40 },
-       { "PERRORDIS",          0x80, 0x80 }
-};
-
-int
-ahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
-           0x60, regvalue, cur_col, wrap));
-}
-
-int
-ahc_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SEQRAM",
-           0x61, regvalue, cur_col, wrap));
-}
-
-int
-ahc_seqaddr0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SEQADDR0",
-           0x62, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SEQADDR1_parse_table[] = {
-       { "SEQADDR1_MASK",      0x01, 0x01 }
-};
-
-int
-ahc_seqaddr1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SEQADDR1_parse_table, 1, "SEQADDR1",
-           0x63, regvalue, cur_col, wrap));
-}
-
-int
-ahc_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "ACCUM",
-           0x64, regvalue, cur_col, wrap));
-}
-
-int
-ahc_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SINDEX",
-           0x65, regvalue, cur_col, wrap));
-}
-
-int
-ahc_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "DINDEX",
-           0x66, regvalue, cur_col, wrap));
-}
-
-int
-ahc_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "ALLONES",
-           0x69, regvalue, cur_col, wrap));
-}
-
-int
-ahc_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "ALLZEROS",
-           0x6a, regvalue, cur_col, wrap));
-}
-
-int
-ahc_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "NONE",
-           0x6a, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t FLAGS_parse_table[] = {
-       { "CARRY",              0x01, 0x01 },
-       { "ZERO",               0x02, 0x02 }
-};
-
-int
-ahc_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(FLAGS_parse_table, 2, "FLAGS",
-           0x6b, regvalue, cur_col, wrap));
-}
-
-int
-ahc_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SINDIR",
-           0x6c, regvalue, cur_col, wrap));
-}
-
-int
-ahc_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "DINDIR",
-           0x6d, regvalue, cur_col, wrap));
-}
-
-int
-ahc_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "STACK",
-           0x6f, regvalue, cur_col, wrap));
-}
-
-int
-ahc_targ_offset_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "TARG_OFFSET",
-           0x70, regvalue, cur_col, wrap));
-}
-
-int
-ahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SRAM_BASE",
-           0x70, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
-       { "CIOPARCKEN",         0x01, 0x01 },
-       { "USCBSIZE32",         0x02, 0x02 },
-       { "RAMPS",              0x04, 0x04 },
-       { "INTSCBRAMSEL",       0x08, 0x08 },
-       { "EXTREQLCK",          0x10, 0x10 },
-       { "MPARCKEN",           0x20, 0x20 },
-       { "DPARCKEN",           0x40, 0x40 },
-       { "CACHETHEN",          0x80, 0x80 }
-};
-
-int
-ahc_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(DSCOMMAND0_parse_table, 8, "DSCOMMAND0",
-           0x84, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t BUSTIME_parse_table[] = {
-       { "BON",                0x0f, 0x0f },
-       { "BOFF",               0xf0, 0xf0 }
-};
-
-int
-ahc_bustime_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(BUSTIME_parse_table, 2, "BUSTIME",
-           0x85, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t DSCOMMAND1_parse_table[] = {
-       { "HADDLDSEL0",         0x01, 0x01 },
-       { "HADDLDSEL1",         0x02, 0x02 },
-       { "DSLATT",             0xfc, 0xfc }
-};
-
-int
-ahc_dscommand1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(DSCOMMAND1_parse_table, 3, "DSCOMMAND1",
-           0x85, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t BUSSPD_parse_table[] = {
-       { "STBON",              0x07, 0x07 },
-       { "STBOFF",             0x38, 0x38 },
-       { "DFTHRSH_75",         0x80, 0x80 },
-       { "DFTHRSH",            0xc0, 0xc0 },
-       { "DFTHRSH_100",        0xc0, 0xc0 }
-};
-
-int
-ahc_busspd_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(BUSSPD_parse_table, 5, "BUSSPD",
-           0x86, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
-       { "SEQ_MAILBOX",        0x0f, 0x0f },
-       { "HOST_TQINPOS",       0x80, 0x80 },
-       { "HOST_MAILBOX",       0xf0, 0xf0 }
-};
-
-int
-ahc_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(HS_MAILBOX_parse_table, 3, "HS_MAILBOX",
-           0x86, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t DSPCISTATUS_parse_table[] = {
-       { "DFTHRSH_100",        0xc0, 0xc0 }
-};
-
-int
-ahc_dspcistatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(DSPCISTATUS_parse_table, 1, "DSPCISTATUS",
-           0x86, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t HCNTRL_parse_table[] = {
-       { "CHIPRST",            0x01, 0x01 },
-       { "CHIPRSTACK",         0x01, 0x01 },
-       { "INTEN",              0x02, 0x02 },
-       { "PAUSE",              0x04, 0x04 },
-       { "IRQMS",              0x08, 0x08 },
-       { "SWINT",              0x10, 0x10 },
-       { "POWRDN",             0x40, 0x40 }
-};
-
-int
-ahc_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(HCNTRL_parse_table, 7, "HCNTRL",
-           0x87, regvalue, cur_col, wrap));
-}
-
-int
-ahc_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "HADDR",
-           0x88, regvalue, cur_col, wrap));
-}
-
-int
-ahc_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "HCNT",
-           0x8c, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCBPTR",
-           0x90, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t INTSTAT_parse_table[] = {
-       { "SEQINT",             0x01, 0x01 },
-       { "CMDCMPLT",           0x02, 0x02 },
-       { "SCSIINT",            0x04, 0x04 },
-       { "BRKADRINT",          0x08, 0x08 },
-       { "BAD_PHASE",          0x01, 0x01 },
-       { "INT_PEND",           0x0f, 0x0f },
-       { "SEND_REJECT",        0x11, 0x11 },
-       { "PROTO_VIOLATION",    0x21, 0x21 },
-       { "NO_MATCH",           0x31, 0x31 },
-       { "IGN_WIDE_RES",       0x41, 0x41 },
-       { "PDATA_REINIT",       0x51, 0x51 },
-       { "HOST_MSG_LOOP",      0x61, 0x61 },
-       { "BAD_STATUS",         0x71, 0x71 },
-       { "PERR_DETECTED",      0x81, 0x81 },
-       { "DATA_OVERRUN",       0x91, 0x91 },
-       { "MKMSG_FAILED",       0xa1, 0xa1 },
-       { "MISSED_BUSFREE",     0xb1, 0xb1 },
-       { "SCB_MISMATCH",       0xc1, 0xc1 },
-       { "NO_FREE_SCB",        0xd1, 0xd1 },
-       { "OUT_OF_RANGE",       0xe1, 0xe1 },
-       { "SEQINT_MASK",        0xf1, 0xf1 }
-};
-
-int
-ahc_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(INTSTAT_parse_table, 21, "INTSTAT",
-           0x91, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t CLRINT_parse_table[] = {
-       { "CLRSEQINT",          0x01, 0x01 },
-       { "CLRCMDINT",          0x02, 0x02 },
-       { "CLRSCSIINT",         0x04, 0x04 },
-       { "CLRBRKADRINT",       0x08, 0x08 },
-       { "CLRPARERR",          0x10, 0x10 }
-};
-
-int
-ahc_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(CLRINT_parse_table, 5, "CLRINT",
-           0x92, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t ERROR_parse_table[] = {
-       { "ILLHADDR",           0x01, 0x01 },
-       { "ILLSADDR",           0x02, 0x02 },
-       { "ILLOPCODE",          0x04, 0x04 },
-       { "SQPARERR",           0x08, 0x08 },
-       { "DPARERR",            0x10, 0x10 },
-       { "MPARERR",            0x20, 0x20 },
-       { "PCIERRSTAT",         0x40, 0x40 },
-       { "CIOPARERR",          0x80, 0x80 }
-};
-
-int
-ahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
-           0x92, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
-       { "FIFORESET",          0x01, 0x01 },
-       { "FIFOFLUSH",          0x02, 0x02 },
-       { "DIRECTION",          0x04, 0x04 },
-       { "HDMAEN",             0x08, 0x08 },
-       { "HDMAENACK",          0x08, 0x08 },
-       { "SDMAEN",             0x10, 0x10 },
-       { "SDMAENACK",          0x10, 0x10 },
-       { "SCSIEN",             0x20, 0x20 },
-       { "WIDEODD",            0x40, 0x40 },
-       { "PRELOADEN",          0x80, 0x80 }
-};
-
-int
-ahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
-           0x93, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
-       { "FIFOEMP",            0x01, 0x01 },
-       { "FIFOFULL",           0x02, 0x02 },
-       { "DFTHRESH",           0x04, 0x04 },
-       { "HDONE",              0x08, 0x08 },
-       { "MREQPEND",           0x10, 0x10 },
-       { "FIFOQWDEMP",         0x20, 0x20 },
-       { "DFCACHETH",          0x40, 0x40 },
-       { "PRELOAD_AVAIL",      0x80, 0x80 }
-};
-
-int
-ahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
-           0x94, regvalue, cur_col, wrap));
-}
-
-int
-ahc_dfwaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "DFWADDR",
-           0x95, regvalue, cur_col, wrap));
-}
-
-int
-ahc_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "DFDAT",
-           0x99, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCBCNT_parse_table[] = {
-       { "SCBAUTO",            0x80, 0x80 },
-       { "SCBCNT_MASK",        0x1f, 0x1f }
-};
-
-int
-ahc_scbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCBCNT_parse_table, 2, "SCBCNT",
-           0x9a, regvalue, cur_col, wrap));
-}
-
-int
-ahc_qinfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "QINFIFO",
-           0x9b, regvalue, cur_col, wrap));
-}
-
-int
-ahc_qoutfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "QOUTFIFO",
-           0x9d, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t CRCCONTROL1_parse_table[] = {
-       { "TARGCRCCNTEN",       0x04, 0x04 },
-       { "TARGCRCENDEN",       0x08, 0x08 },
-       { "CRCREQCHKEN",        0x10, 0x10 },
-       { "CRCENDCHKEN",        0x20, 0x20 },
-       { "CRCVALCHKEN",        0x40, 0x40 },
-       { "CRCONSEEN",          0x80, 0x80 }
-};
-
-int
-ahc_crccontrol1_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(CRCCONTROL1_parse_table, 6, "CRCCONTROL1",
-           0x9d, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
-       { "DATA_OUT_PHASE",     0x01, 0x01 },
-       { "DATA_IN_PHASE",      0x02, 0x02 },
-       { "MSG_OUT_PHASE",      0x04, 0x04 },
-       { "MSG_IN_PHASE",       0x08, 0x08 },
-       { "COMMAND_PHASE",      0x10, 0x10 },
-       { "STATUS_PHASE",       0x20, 0x20 },
-       { "DATA_PHASE_MASK",    0x03, 0x03 }
-};
-
-int
-ahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
-           0x9e, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SFUNCT_parse_table[] = {
-       { "ALT_MODE",           0x80, 0x80 }
-};
-
-int
-ahc_sfunct_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SFUNCT_parse_table, 1, "SFUNCT",
-           0x9f, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_BASE",
-           0xa0, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_cdb_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_CDB_PTR",
-           0xa0, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_RESIDUAL_SGPTR",
-           0xa4, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_SCSI_STATUS",
-           0xa8, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_target_phases_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_TARGET_PHASES",
-           0xa9, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_target_data_dir_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_TARGET_DATA_DIR",
-           0xaa, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_target_itag_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_TARGET_ITAG",
-           0xab, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_DATAPTR",
-           0xac, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
-       { "SG_LAST_SEG",        0x80, 0x80 },
-       { "SG_HIGH_ADDR_BITS",  0x7f, 0x7f }
-};
-
-int
-ahc_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
-           0xb0, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
-       { "SG_LIST_NULL",       0x01, 0x01 },
-       { "SG_FULL_RESID",      0x02, 0x02 },
-       { "SG_RESID_VALID",     0x04, 0x04 }
-};
-
-int
-ahc_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
-           0xb4, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
-       { "DISCONNECTED",       0x04, 0x04 },
-       { "ULTRAENB",           0x08, 0x08 },
-       { "MK_MESSAGE",         0x10, 0x10 },
-       { "TAG_ENB",            0x20, 0x20 },
-       { "DISCENB",            0x40, 0x40 },
-       { "TARGET_SCB",         0x80, 0x80 },
-       { "STATUS_RCVD",        0x80, 0x80 },
-       { "SCB_TAG_TYPE",       0x03, 0x03 }
-};
-
-int
-ahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
-           0xb8, regvalue, cur_col, wrap));
+       return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
+           0xb8, regvalue, cur_col, wrap));
 }
 
 static const ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
@@ -1331,248 +411,3 @@ ahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
            0xbb, regvalue, cur_col, wrap));
 }
 
-int
-ahc_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_CDB_LEN",
-           0xbc, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_SCSIRATE",
-           0xbd, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_scsioffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_SCSIOFFSET",
-           0xbe, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_NEXT",
-           0xbf, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SEECTL_2840_parse_table[] = {
-       { "DO_2840",            0x01, 0x01 },
-       { "CK_2840",            0x02, 0x02 },
-       { "CS_2840",            0x04, 0x04 }
-};
-
-int
-ahc_seectl_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SEECTL_2840_parse_table, 3, "SEECTL_2840",
-           0xc0, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t STATUS_2840_parse_table[] = {
-       { "DI_2840",            0x01, 0x01 },
-       { "EEPROM_TF",          0x80, 0x80 },
-       { "ADSEL",              0x1e, 0x1e },
-       { "BIOS_SEL",           0x60, 0x60 }
-};
-
-int
-ahc_status_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(STATUS_2840_parse_table, 4, "STATUS_2840",
-           0xc1, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scb_64_btt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCB_64_BTT",
-           0xd0, regvalue, cur_col, wrap));
-}
-
-int
-ahc_cchaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCHADDR",
-           0xe0, regvalue, cur_col, wrap));
-}
-
-int
-ahc_cchcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCHCNT",
-           0xe8, regvalue, cur_col, wrap));
-}
-
-int
-ahc_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCSGRAM",
-           0xe9, regvalue, cur_col, wrap));
-}
-
-int
-ahc_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCSGADDR",
-           0xea, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t CCSGCTL_parse_table[] = {
-       { "CCSGRESET",          0x01, 0x01 },
-       { "SG_FETCH_NEEDED",    0x02, 0x02 },
-       { "CCSGEN",             0x08, 0x08 },
-       { "CCSGDONE",           0x80, 0x80 }
-};
-
-int
-ahc_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(CCSGCTL_parse_table, 4, "CCSGCTL",
-           0xeb, regvalue, cur_col, wrap));
-}
-
-int
-ahc_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCSCBRAM",
-           0xec, regvalue, cur_col, wrap));
-}
-
-int
-ahc_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCSCBADDR",
-           0xed, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t CCSCBCTL_parse_table[] = {
-       { "CCSCBRESET",         0x01, 0x01 },
-       { "CCSCBDIR",           0x04, 0x04 },
-       { "CCSCBEN",            0x08, 0x08 },
-       { "CCARREN",            0x10, 0x10 },
-       { "ARRDONE",            0x40, 0x40 },
-       { "CCSCBDONE",          0x80, 0x80 }
-};
-
-int
-ahc_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
-           0xee, regvalue, cur_col, wrap));
-}
-
-int
-ahc_ccscbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCSCBCNT",
-           0xef, regvalue, cur_col, wrap));
-}
-
-int
-ahc_scbbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SCBBADDR",
-           0xf0, regvalue, cur_col, wrap));
-}
-
-int
-ahc_ccscbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "CCSCBPTR",
-           0xf1, regvalue, cur_col, wrap));
-}
-
-int
-ahc_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "HNSCB_QOFF",
-           0xf4, regvalue, cur_col, wrap));
-}
-
-int
-ahc_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SNSCB_QOFF",
-           0xf6, regvalue, cur_col, wrap));
-}
-
-int
-ahc_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(NULL, 0, "SDSCB_QOFF",
-           0xf8, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
-       { "SDSCB_ROLLOVER",     0x10, 0x10 },
-       { "SNSCB_ROLLOVER",     0x20, 0x20 },
-       { "SCB_AVAIL",          0x40, 0x40 },
-       { "SCB_QSIZE_256",      0x06, 0x06 },
-       { "SCB_QSIZE",          0x07, 0x07 }
-};
-
-int
-ahc_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(QOFF_CTLSTA_parse_table, 5, "QOFF_CTLSTA",
-           0xfa, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t DFF_THRSH_parse_table[] = {
-       { "RD_DFTHRSH_MIN",     0x00, 0x00 },
-       { "WR_DFTHRSH_MIN",     0x00, 0x00 },
-       { "RD_DFTHRSH_25",      0x01, 0x01 },
-       { "RD_DFTHRSH_50",      0x02, 0x02 },
-       { "RD_DFTHRSH_63",      0x03, 0x03 },
-       { "RD_DFTHRSH_75",      0x04, 0x04 },
-       { "RD_DFTHRSH_85",      0x05, 0x05 },
-       { "RD_DFTHRSH_90",      0x06, 0x06 },
-       { "RD_DFTHRSH",         0x07, 0x07 },
-       { "RD_DFTHRSH_MAX",     0x07, 0x07 },
-       { "WR_DFTHRSH_25",      0x10, 0x10 },
-       { "WR_DFTHRSH_50",      0x20, 0x20 },
-       { "WR_DFTHRSH_63",      0x30, 0x30 },
-       { "WR_DFTHRSH_75",      0x40, 0x40 },
-       { "WR_DFTHRSH_85",      0x50, 0x50 },
-       { "WR_DFTHRSH_90",      0x60, 0x60 },
-       { "WR_DFTHRSH",         0x70, 0x70 },
-       { "WR_DFTHRSH_MAX",     0x70, 0x70 }
-};
-
-int
-ahc_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
-           0xfb, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
-       { "LAST_SEG_DONE",      0x01, 0x01 },
-       { "LAST_SEG",           0x02, 0x02 },
-       { "SG_ADDR_MASK",       0xf8, 0xf8 }
-};
-
-int
-ahc_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SG_CACHE_SHADOW_parse_table, 3, "SG_CACHE_SHADOW",
-           0xfc, regvalue, cur_col, wrap));
-}
-
-static const ahc_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
-       { "LAST_SEG_DONE",      0x01, 0x01 },
-       { "LAST_SEG",           0x02, 0x02 },
-       { "SG_ADDR_MASK",       0xf8, 0xf8 }
-};
-
-int
-ahc_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
-{
-       return (ahc_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
-           0xfc, regvalue, cur_col, wrap));
-}
-
index 81be6a261cc8503a0853699b9e6719139cb9b5f6..e4064433842e62d8c876d478658b5d2597493007 100644 (file)
@@ -147,6 +147,8 @@ void yyerror(const char *string);
 
 %token T_ACCESS_MODE
 
+%token T_DONT_GENERATE_DEBUG_CODE
+
 %token T_MODES
 
 %token T_DEFINE
@@ -357,6 +359,7 @@ reg_attribute:
 |      size
 |      count
 |      access_mode
+|      dont_generate_debug_code
 |      modes
 |      field_defn
 |      enum_defn
@@ -410,6 +413,13 @@ access_mode:
        }
 ;
 
+dont_generate_debug_code:
+       T_DONT_GENERATE_DEBUG_CODE
+       {
+               cur_symbol->dont_generate_debug_code = 1;
+       }
+;
+
 modes:
        T_MODES mode_list
        {
index 2c7f02daf88d21387967be473c660dcc9a2c1a0e..93c8667cd704dd0af10d85a32e2806422ccecfce 100644 (file)
@@ -164,6 +164,7 @@ download            { return T_DOWNLOAD; }
 address                        { return T_ADDRESS; }
 count                  { return T_COUNT; }
 access_mode            { return T_ACCESS_MODE; }
+dont_generate_debug_code { return T_DONT_GENERATE_DEBUG_CODE; }
 modes                  { return T_MODES; }
 RW|RO|WO               {
                                 if (strcmp(yytext, "RW") == 0)
index fcd357872b43d0e360456e732dbdb868f7eb013c..078ed600f47ab14bec403cc44633ef27520ba03d 100644 (file)
@@ -539,6 +539,9 @@ symtable_dump(FILE *ofile, FILE *dfile)
        aic_print_include(dfile, stock_include_file);
        SLIST_FOREACH(curnode, &registers, links) {
 
+               if (curnode->symbol->dont_generate_debug_code)
+                       continue;
+
                switch(curnode->symbol->type) {
                case REGISTER:
                case SCBLOC:
index 05190c1a2fb779b880efbb2cc672b65da2058e4c..2ba73ae7c7774f362bf80391ae999ec8b3fff02b 100644 (file)
@@ -137,7 +137,8 @@ typedef struct symbol {
                struct label_info *linfo;
                struct cond_info  *condinfo;
                struct macro_info *macroinfo;
-       }info;
+       } info;
+       int     dont_generate_debug_code;
 } symbol_t;
 
 typedef struct symbol_ref {
index a43c3ed4df28c3dcb68d1843a6028459d085c0f0..3d50cabca7eeba34bbdda3ae84eb8ce9228df5f3 100644 (file)
@@ -401,6 +401,9 @@ static int check_ownership(struct scsi_device *sdev, struct rdac_dh_data *h)
                }
        }
 
+       if (h->lun_state == RDAC_LUN_UNOWNED)
+               h->state = RDAC_STATE_PASSIVE;
+
        return err;
 }
 
index 098739deb02e1394dc466f51061284a484245cf8..ded854a6dd35bd0d916f630090fc87990cd59182 100644 (file)
@@ -2456,20 +2456,14 @@ static ssize_t ipr_read_trace(struct kobject *kobj,
        struct Scsi_Host *shost = class_to_shost(dev);
        struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)shost->hostdata;
        unsigned long lock_flags = 0;
-       int size = IPR_TRACE_SIZE;
-       char *src = (char *)ioa_cfg->trace;
-
-       if (off > size)
-               return 0;
-       if (off + count > size) {
-               size -= off;
-               count = size;
-       }
+       ssize_t ret;
 
        spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags);
-       memcpy(buf, &src[off], count);
+       ret = memory_read_from_buffer(buf, count, &off, ioa_cfg->trace,
+                               IPR_TRACE_SIZE);
        spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
-       return count;
+
+       return ret;
 }
 
 static struct bin_attribute ipr_trace_attr = {
index e5a9526d20376ab341b54618248dbdd93db3ded3..f5d3b96890dc6d9dd180eb86bb0f2b737a60e7f1 100644 (file)
@@ -529,6 +529,14 @@ static void scsi_single_lun_run(struct scsi_device *current_sdev)
        spin_unlock_irqrestore(shost->host_lock, flags);
 }
 
+static inline int scsi_device_is_busy(struct scsi_device *sdev)
+{
+       if (sdev->device_busy >= sdev->queue_depth || sdev->device_blocked)
+               return 1;
+
+       return 0;
+}
+
 static inline int scsi_target_is_busy(struct scsi_target *starget)
 {
        return ((starget->can_queue > 0 &&
@@ -536,6 +544,15 @@ static inline int scsi_target_is_busy(struct scsi_target *starget)
                 starget->target_blocked);
 }
 
+static inline int scsi_host_is_busy(struct Scsi_Host *shost)
+{
+       if ((shost->can_queue > 0 && shost->host_busy >= shost->can_queue) ||
+           shost->host_blocked || shost->host_self_blocked)
+               return 1;
+
+       return 0;
+}
+
 /*
  * Function:   scsi_run_queue()
  *
@@ -558,11 +575,7 @@ static void scsi_run_queue(struct request_queue *q)
                scsi_single_lun_run(sdev);
 
        spin_lock_irqsave(shost->host_lock, flags);
-       while (!list_empty(&shost->starved_list) &&
-              !shost->host_blocked && !shost->host_self_blocked &&
-               !((shost->can_queue > 0) &&
-                 (shost->host_busy >= shost->can_queue))) {
-
+       while (!list_empty(&shost->starved_list) && !scsi_host_is_busy(shost)) {
                int flagset;
 
                /*
@@ -1348,8 +1361,6 @@ int scsi_prep_fn(struct request_queue *q, struct request *req)
 static inline int scsi_dev_queue_ready(struct request_queue *q,
                                  struct scsi_device *sdev)
 {
-       if (sdev->device_busy >= sdev->queue_depth)
-               return 0;
        if (sdev->device_busy == 0 && sdev->device_blocked) {
                /*
                 * unblock after device_blocked iterates to zero
@@ -1363,7 +1374,7 @@ static inline int scsi_dev_queue_ready(struct request_queue *q,
                        return 0;
                }
        }
-       if (sdev->device_blocked)
+       if (scsi_device_is_busy(sdev))
                return 0;
 
        return 1;
@@ -1440,8 +1451,7 @@ static inline int scsi_host_queue_ready(struct request_queue *q,
                        return 0;
                }
        }
-       if ((shost->can_queue > 0 && shost->host_busy >= shost->can_queue) ||
-           shost->host_blocked || shost->host_self_blocked) {
+       if (scsi_host_is_busy(shost)) {
                if (list_empty(&sdev->starved_entry))
                        list_add_tail(&sdev->starved_entry, &shost->starved_list);
                return 0;
@@ -1454,6 +1464,37 @@ static inline int scsi_host_queue_ready(struct request_queue *q,
        return 1;
 }
 
+/*
+ * Busy state exporting function for request stacking drivers.
+ *
+ * For efficiency, no lock is taken to check the busy state of
+ * shost/starget/sdev, since the returned value is not guaranteed and
+ * may be changed after request stacking drivers call the function,
+ * regardless of taking lock or not.
+ *
+ * When scsi can't dispatch I/Os anymore and needs to kill I/Os
+ * (e.g. !sdev), scsi needs to return 'not busy'.
+ * Otherwise, request stacking drivers may hold requests forever.
+ */
+static int scsi_lld_busy(struct request_queue *q)
+{
+       struct scsi_device *sdev = q->queuedata;
+       struct Scsi_Host *shost;
+       struct scsi_target *starget;
+
+       if (!sdev)
+               return 0;
+
+       shost = sdev->host;
+       starget = scsi_target(sdev);
+
+       if (scsi_host_in_recovery(shost) || scsi_host_is_busy(shost) ||
+           scsi_target_is_busy(starget) || scsi_device_is_busy(sdev))
+               return 1;
+
+       return 0;
+}
+
 /*
  * Kill a request for a dead device
  */
@@ -1757,6 +1798,7 @@ struct request_queue *scsi_alloc_queue(struct scsi_device *sdev)
        blk_queue_prep_rq(q, scsi_prep_fn);
        blk_queue_softirq_done(q, scsi_softirq_done);
        blk_queue_rq_timed_out(q, scsi_times_out);
+       blk_queue_lld_busy(q, scsi_lld_busy);
        return q;
 }
 
@@ -2105,22 +2147,21 @@ scsi_test_unit_ready(struct scsi_device *sdev, int timeout, int retries,
        do {
                result = scsi_execute_req(sdev, cmd, DMA_NONE, NULL, 0, sshdr,
                                          timeout, retries);
-       } while ((driver_byte(result) & DRIVER_SENSE) &&
-                sshdr && sshdr->sense_key == UNIT_ATTENTION &&
-                --retries);
+               if (sdev->removable && scsi_sense_valid(sshdr) &&
+                   sshdr->sense_key == UNIT_ATTENTION)
+                       sdev->changed = 1;
+       } while (scsi_sense_valid(sshdr) &&
+                sshdr->sense_key == UNIT_ATTENTION && --retries);
 
        if (!sshdr)
                /* could not allocate sense buffer, so can't process it */
                return result;
 
-       if ((driver_byte(result) & DRIVER_SENSE) && sdev->removable) {
-
-               if ((scsi_sense_valid(sshdr)) &&
-                   ((sshdr->sense_key == UNIT_ATTENTION) ||
-                    (sshdr->sense_key == NOT_READY))) {
-                       sdev->changed = 1;
-                       result = 0;
-               }
+       if (sdev->removable && scsi_sense_valid(sshdr) &&
+           (sshdr->sense_key == UNIT_ATTENTION ||
+            sshdr->sense_key == NOT_READY)) {
+               sdev->changed = 1;
+               result = 0;
        }
        if (!sshdr_external)
                kfree(sshdr);
index b37e133de80557e3be96e70f0960d5ef910c1fb5..723fdecd91bdd4ba027ae4edd20470c6d84bc520 100644 (file)
@@ -205,16 +205,13 @@ static struct notifier_block scsi_netlink_notifier = {
 };
 
 
-/**
+/*
  * GENERIC SCSI transport receive and event handlers
- **/
+ */
 
 /**
- * scsi_generic_msg_handler - receive message handler for GENERIC transport
- *                      messages
- *
+ * scsi_generic_msg_handler - receive message handler for GENERIC transport messages
  * @skb:               socket receive buffer
- *
  **/
 static int
 scsi_generic_msg_handler(struct sk_buff *skb)
index 43f34c73df126b3e93a98ab819921fe50999d612..c9e1242eaf2511067e122e89b331d438823a0a69 100644 (file)
@@ -1049,7 +1049,6 @@ static int sd_done(struct scsi_cmnd *SCpnt)
                good_bytes = sd_completed_bytes(SCpnt);
                break;
        case RECOVERED_ERROR:
-       case NO_SENSE:
                /* Inform the user, but make sure that it's not treated
                 * as a hard error.
                 */
@@ -1058,6 +1057,15 @@ static int sd_done(struct scsi_cmnd *SCpnt)
                memset(SCpnt->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
                good_bytes = scsi_bufflen(SCpnt);
                break;
+       case NO_SENSE:
+               /* This indicates a false check condition, so ignore it.  An
+                * unknown amount of data was transferred so treat it as an
+                * error.
+                */
+               scsi_print_sense("sd", SCpnt);
+               SCpnt->result = 0;
+               memset(SCpnt->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
+               break;
        case ABORTED_COMMAND:
                if (sshdr.asc == 0x10) { /* DIF: Disk detected corruption */
                        scsi_print_result(SCpnt);
@@ -1071,15 +1079,6 @@ static int sd_done(struct scsi_cmnd *SCpnt)
                        scsi_print_sense("sd", SCpnt);
                        good_bytes = sd_completed_bytes(SCpnt);
                }
-               if (!scsi_device_protection(SCpnt->device) &&
-                   SCpnt->device->use_10_for_rw &&
-                   (SCpnt->cmnd[0] == READ_10 ||
-                    SCpnt->cmnd[0] == WRITE_10))
-                       SCpnt->device->use_10_for_rw = 0;
-               if (SCpnt->device->use_10_for_ms &&
-                   (SCpnt->cmnd[0] == MODE_SENSE_10 ||
-                    SCpnt->cmnd[0] == MODE_SELECT_10))
-                       SCpnt->device->use_10_for_ms = 0;
                break;
        default:
                break;
@@ -1432,7 +1431,7 @@ got_data:
 
        {
                char cap_str_2[10], cap_str_10[10];
-               u64 sz = sdkp->capacity << ffz(~sector_size);
+               u64 sz = (u64)sdkp->capacity << ilog2(sector_size);
 
                string_get_size(sz, STRING_UNITS_2, cap_str_2,
                                sizeof(cap_str_2));
index 7514b3a0390e5b19b75689a4493047a7ef3d67be..34a99620e5bd35ca2d7ed411ed42004d59788240 100644 (file)
@@ -213,7 +213,7 @@ static int __devinit esp_sun3x_probe(struct platform_device *dev)
        esp->ops = &sun3x_esp_ops;
 
        res = platform_get_resource(dev, IORESOURCE_MEM, 0);
-       if (!res && !res->start)
+       if (!res || !res->start)
                goto fail_unlink;
 
        esp->regs = ioremap_nocache(res->start, 0x20);
@@ -221,7 +221,7 @@ static int __devinit esp_sun3x_probe(struct platform_device *dev)
                goto fail_unmap_regs;
 
        res = platform_get_resource(dev, IORESOURCE_MEM, 1);
-       if (!res && !res->start)
+       if (!res || !res->start)
                goto fail_unmap_regs;
 
        esp->dma_regs = ioremap_nocache(res->start, 0x10);
index 5b93a7d94d4256132fcb7a9ed13ec8c6213510c2..63adcb792988016d642a6e341bcbca2f694b68d1 100644 (file)
@@ -1061,7 +1061,6 @@ static struct dentry *ext4_lookup(struct inode *dir, struct dentry *dentry, stru
 struct dentry *ext4_get_parent(struct dentry *child)
 {
        unsigned long ino;
-       struct dentry *parent;
        struct inode *inode;
        static const struct qstr dotdot = {
                .name = "..",
index f37f87262837aaf6e47526d4895a000f1f9024c2..d0e20ced62ddd73fafdd6dec830d53fa479189bf 100644 (file)
@@ -8,6 +8,8 @@
 
 #include <linux/syscalls.h>
 #include <linux/fs.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
 #include <linux/slab.h>
 #include <linux/kmod.h>
 #include <linux/init.h>
@@ -214,6 +216,43 @@ int get_filesystem_list(char * buf)
        return len;
 }
 
+#ifdef CONFIG_PROC_FS
+static int filesystems_proc_show(struct seq_file *m, void *v)
+{
+       struct file_system_type * tmp;
+
+       read_lock(&file_systems_lock);
+       tmp = file_systems;
+       while (tmp) {
+               seq_printf(m, "%s\t%s\n",
+                       (tmp->fs_flags & FS_REQUIRES_DEV) ? "" : "nodev",
+                       tmp->name);
+               tmp = tmp->next;
+       }
+       read_unlock(&file_systems_lock);
+       return 0;
+}
+
+static int filesystems_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, filesystems_proc_show, NULL);
+}
+
+static const struct file_operations filesystems_proc_fops = {
+       .open           = filesystems_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_filesystems_init(void)
+{
+       proc_create("filesystems", 0, NULL, &filesystems_proc_fops);
+       return 0;
+}
+module_init(proc_filesystems_init);
+#endif
+
 struct file_system_type *get_fs_type(const char *name)
 {
        struct file_system_type *fs;
index 20457486d6b2a95e67783f220b89f8cb19e22d3e..09062e3ff104d7222d4725d757c5493da3ad68fa 100644 (file)
@@ -2079,6 +2079,7 @@ int vfs_cancel_lock(struct file *filp, struct file_lock *fl)
 EXPORT_SYMBOL_GPL(vfs_cancel_lock);
 
 #ifdef CONFIG_PROC_FS
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 
 static void lock_get_status(struct seq_file *f, struct file_lock *fl,
@@ -2184,12 +2185,31 @@ static void locks_stop(struct seq_file *f, void *v)
        unlock_kernel();
 }
 
-struct seq_operations locks_seq_operations = {
+static const struct seq_operations locks_seq_operations = {
        .start  = locks_start,
        .next   = locks_next,
        .stop   = locks_stop,
        .show   = locks_show,
 };
+
+static int locks_open(struct inode *inode, struct file *filp)
+{
+       return seq_open(filp, &locks_seq_operations);
+}
+
+static const struct file_operations proc_locks_operations = {
+       .open           = locks_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static int __init proc_locks_init(void)
+{
+       proc_create("locks", 0, NULL, &proc_locks_operations);
+       return 0;
+}
+module_init(proc_locks_init);
 #endif
 
 /**
index ebaba0213546a9cabc11539bb5cf047124e3a32e..63d965193b228726cc15957c54edc333d4ff0676 100644 (file)
@@ -8,11 +8,20 @@ proc-y                        := nommu.o task_nommu.o
 proc-$(CONFIG_MMU)     := mmu.o task_mmu.o
 
 proc-y       += inode.o root.o base.o generic.o array.o \
-               proc_tty.o proc_misc.o
-
+               proc_tty.o
+proc-y += cmdline.o
+proc-y += cpuinfo.o
+proc-y += devices.o
+proc-y += interrupts.o
+proc-y += loadavg.o
+proc-y += meminfo.o
+proc-y += stat.o
+proc-y += uptime.o
+proc-y += version.o
 proc-$(CONFIG_PROC_SYSCTL)     += proc_sysctl.o
 proc-$(CONFIG_NET)             += proc_net.o
 proc-$(CONFIG_PROC_KCORE)      += kcore.o
 proc-$(CONFIG_PROC_VMCORE)     += vmcore.o
 proc-$(CONFIG_PROC_DEVICETREE) += proc_devtree.o
 proc-$(CONFIG_PRINTK)  += kmsg.o
+proc-$(CONFIG_PROC_PAGE_MONITOR)       += page.o
diff --git a/fs/proc/cmdline.c b/fs/proc/cmdline.c
new file mode 100644 (file)
index 0000000..82676e3
--- /dev/null
@@ -0,0 +1,29 @@
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
+
+static int cmdline_proc_show(struct seq_file *m, void *v)
+{
+       seq_printf(m, "%s\n", saved_command_line);
+       return 0;
+}
+
+static int cmdline_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, cmdline_proc_show, NULL);
+}
+
+static const struct file_operations cmdline_proc_fops = {
+       .open           = cmdline_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_cmdline_init(void)
+{
+       proc_create("cmdline", 0, NULL, &cmdline_proc_fops);
+       return 0;
+}
+module_init(proc_cmdline_init);
diff --git a/fs/proc/cpuinfo.c b/fs/proc/cpuinfo.c
new file mode 100644 (file)
index 0000000..5a1e539
--- /dev/null
@@ -0,0 +1,24 @@
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
+
+extern const struct seq_operations cpuinfo_op;
+static int cpuinfo_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &cpuinfo_op);
+}
+
+static const struct file_operations proc_cpuinfo_operations = {
+       .open           = cpuinfo_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static int __init proc_cpuinfo_init(void)
+{
+       proc_create("cpuinfo", 0, NULL, &proc_cpuinfo_operations);
+       return 0;
+}
+module_init(proc_cpuinfo_init);
diff --git a/fs/proc/devices.c b/fs/proc/devices.c
new file mode 100644 (file)
index 0000000..59ee7da
--- /dev/null
@@ -0,0 +1,70 @@
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
+
+static int devinfo_show(struct seq_file *f, void *v)
+{
+       int i = *(loff_t *) v;
+
+       if (i < CHRDEV_MAJOR_HASH_SIZE) {
+               if (i == 0)
+                       seq_printf(f, "Character devices:\n");
+               chrdev_show(f, i);
+       }
+#ifdef CONFIG_BLOCK
+       else {
+               i -= CHRDEV_MAJOR_HASH_SIZE;
+               if (i == 0)
+                       seq_printf(f, "\nBlock devices:\n");
+               blkdev_show(f, i);
+       }
+#endif
+       return 0;
+}
+
+static void *devinfo_start(struct seq_file *f, loff_t *pos)
+{
+       if (*pos < (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE))
+               return pos;
+       return NULL;
+}
+
+static void *devinfo_next(struct seq_file *f, void *v, loff_t *pos)
+{
+       (*pos)++;
+       if (*pos >= (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE))
+               return NULL;
+       return pos;
+}
+
+static void devinfo_stop(struct seq_file *f, void *v)
+{
+       /* Nothing to do */
+}
+
+static const struct seq_operations devinfo_ops = {
+       .start = devinfo_start,
+       .next  = devinfo_next,
+       .stop  = devinfo_stop,
+       .show  = devinfo_show
+};
+
+static int devinfo_open(struct inode *inode, struct file *filp)
+{
+       return seq_open(filp, &devinfo_ops);
+}
+
+static const struct file_operations proc_devinfo_operations = {
+       .open           = devinfo_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static int __init proc_devices_init(void)
+{
+       proc_create("devices", 0, NULL, &proc_devinfo_operations);
+       return 0;
+}
+module_init(proc_devices_init);
index 7821589a17d58748f9143108be13bbcd1de9dc97..60a359b355821a032c36d22beb4740fdc763075e 100644 (file)
@@ -547,9 +547,8 @@ static int proc_register(struct proc_dir_entry * dir, struct proc_dir_entry * dp
 
        for (tmp = dir->subdir; tmp; tmp = tmp->next)
                if (strcmp(tmp->name, dp->name) == 0) {
-                       printk(KERN_WARNING "proc_dir_entry '%s/%s' already registered\n",
+                       WARN(1, KERN_WARNING "proc_dir_entry '%s/%s' already registered\n",
                                dir->name, dp->name);
-                       dump_stack();
                        break;
                }
 
index c6b4fa7e3b49e9a2625bf3a76465c85d7df7eba2..2543fd00c6589cc8218169f16b0214de9c063f81 100644 (file)
@@ -106,14 +106,13 @@ static void init_once(void *foo)
        inode_init_once(&ei->vfs_inode);
 }
 
-int __init proc_init_inodecache(void)
+void __init proc_init_inodecache(void)
 {
        proc_inode_cachep = kmem_cache_create("proc_inode_cache",
                                             sizeof(struct proc_inode),
                                             0, (SLAB_RECLAIM_ACCOUNT|
                                                SLAB_MEM_SPREAD|SLAB_PANIC),
                                             init_once);
-       return 0;
 }
 
 static const struct super_operations proc_sops = {
index 3bfb7b8747b3f027657a217a18ff0a7bc37b6f5d..3e8aeb8b61ce251601f8795d3f6bd4fd423beed0 100644 (file)
@@ -61,12 +61,11 @@ extern const struct file_operations proc_smaps_operations;
 extern const struct file_operations proc_clear_refs_operations;
 extern const struct file_operations proc_pagemap_operations;
 extern const struct file_operations proc_net_operations;
-extern const struct file_operations proc_kmsg_operations;
 extern const struct inode_operations proc_net_inode_operations;
 
 void free_proc_entry(struct proc_dir_entry *de);
 
-int proc_init_inodecache(void);
+void proc_init_inodecache(void);
 
 static inline struct pid *proc_pid(struct inode *inode)
 {
diff --git a/fs/proc/interrupts.c b/fs/proc/interrupts.c
new file mode 100644 (file)
index 0000000..05029c0
--- /dev/null
@@ -0,0 +1,53 @@
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/irqnr.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
+
+/*
+ * /proc/interrupts
+ */
+static void *int_seq_start(struct seq_file *f, loff_t *pos)
+{
+       return (*pos <= nr_irqs) ? pos : NULL;
+}
+
+static void *int_seq_next(struct seq_file *f, void *v, loff_t *pos)
+{
+       (*pos)++;
+       if (*pos > nr_irqs)
+               return NULL;
+       return pos;
+}
+
+static void int_seq_stop(struct seq_file *f, void *v)
+{
+       /* Nothing to do */
+}
+
+static const struct seq_operations int_seq_ops = {
+       .start = int_seq_start,
+       .next  = int_seq_next,
+       .stop  = int_seq_stop,
+       .show  = show_interrupts
+};
+
+static int interrupts_open(struct inode *inode, struct file *filp)
+{
+       return seq_open(filp, &int_seq_ops);
+}
+
+static const struct file_operations proc_interrupts_operations = {
+       .open           = interrupts_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static int __init proc_interrupts_init(void)
+{
+       proc_create("interrupts", 0, NULL, &proc_interrupts_operations);
+       return 0;
+}
+module_init(proc_interrupts_init);
index c2370c76fb711d6c7c32fba6ec34ffac437d7b65..59b43a068872de286df70b7632ae982f4ce149ab 100644 (file)
@@ -27,6 +27,8 @@
 #define ELF_CORE_EFLAGS        0
 #endif
 
+static struct proc_dir_entry *proc_root_kcore;
+
 static int open_kcore(struct inode * inode, struct file * filp)
 {
        return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
@@ -34,7 +36,7 @@ static int open_kcore(struct inode * inode, struct file * filp)
 
 static ssize_t read_kcore(struct file *, char __user *, size_t, loff_t *);
 
-const struct file_operations proc_kcore_operations = {
+static const struct file_operations proc_kcore_operations = {
        .read           = read_kcore,
        .open           = open_kcore,
 };
@@ -399,3 +401,13 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
 
        return acc;
 }
+
+static int __init proc_kcore_init(void)
+{
+       proc_root_kcore = proc_create("kcore", S_IRUSR, NULL, &proc_kcore_operations);
+       if (proc_root_kcore)
+               proc_root_kcore->size =
+                               (size_t)high_memory - PAGE_OFFSET + PAGE_SIZE;
+       return 0;
+}
+module_init(proc_kcore_init);
index 9fd5df3f40ce7d0dcc4f78559fdd5eb2c521da4f..7ca78346d3f0f9ceed2014a42c2c03b774f1393f 100644 (file)
 #include <linux/time.h>
 #include <linux/kernel.h>
 #include <linux/poll.h>
+#include <linux/proc_fs.h>
 #include <linux/fs.h>
 
 #include <asm/uaccess.h>
 #include <asm/io.h>
 
-#include "internal.h"
-
 extern wait_queue_head_t log_wait;
 
 extern int do_syslog(int type, char __user *bug, int count);
@@ -49,9 +48,16 @@ static unsigned int kmsg_poll(struct file *file, poll_table *wait)
 }
 
 
-const struct file_operations proc_kmsg_operations = {
+static const struct file_operations proc_kmsg_operations = {
        .read           = kmsg_read,
        .poll           = kmsg_poll,
        .open           = kmsg_open,
        .release        = kmsg_release,
 };
+
+static int __init proc_kmsg_init(void)
+{
+       proc_create("kmsg", S_IRUSR, NULL, &proc_kmsg_operations);
+       return 0;
+}
+module_init(proc_kmsg_init);
diff --git a/fs/proc/loadavg.c b/fs/proc/loadavg.c
new file mode 100644 (file)
index 0000000..9bca39c
--- /dev/null
@@ -0,0 +1,51 @@
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/pid_namespace.h>
+#include <linux/proc_fs.h>
+#include <linux/sched.h>
+#include <linux/seq_file.h>
+#include <linux/seqlock.h>
+#include <linux/time.h>
+
+#define LOAD_INT(x) ((x) >> FSHIFT)
+#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
+
+static int loadavg_proc_show(struct seq_file *m, void *v)
+{
+       int a, b, c;
+       unsigned long seq;
+
+       do {
+               seq = read_seqbegin(&xtime_lock);
+               a = avenrun[0] + (FIXED_1/200);
+               b = avenrun[1] + (FIXED_1/200);
+               c = avenrun[2] + (FIXED_1/200);
+       } while (read_seqretry(&xtime_lock, seq));
+
+       seq_printf(m, "%d.%02d %d.%02d %d.%02d %ld/%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,
+               task_active_pid_ns(current)->last_pid);
+       return 0;
+}
+
+static int loadavg_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, loadavg_proc_show, NULL);
+}
+
+static const struct file_operations loadavg_proc_fops = {
+       .open           = loadavg_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_loadavg_init(void)
+{
+       proc_create("loadavg", 0, NULL, &loadavg_proc_fops);
+       return 0;
+}
+module_init(proc_loadavg_init);
diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
new file mode 100644 (file)
index 0000000..b1675c4
--- /dev/null
@@ -0,0 +1,168 @@
+#include <linux/fs.h>
+#include <linux/hugetlb.h>
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/mm.h>
+#include <linux/mman.h>
+#include <linux/mmzone.h>
+#include <linux/proc_fs.h>
+#include <linux/quicklist.h>
+#include <linux/seq_file.h>
+#include <linux/swap.h>
+#include <linux/vmstat.h>
+#include <asm/atomic.h>
+#include <asm/page.h>
+#include <asm/pgtable.h>
+#include "internal.h"
+
+void __attribute__((weak)) arch_report_meminfo(struct seq_file *m)
+{
+}
+
+static int meminfo_proc_show(struct seq_file *m, void *v)
+{
+       struct sysinfo i;
+       unsigned long committed;
+       unsigned long allowed;
+       struct vmalloc_info vmi;
+       long cached;
+       unsigned long pages[NR_LRU_LISTS];
+       int lru;
+
+/*
+ * display in kilobytes.
+ */
+#define K(x) ((x) << (PAGE_SHIFT - 10))
+       si_meminfo(&i);
+       si_swapinfo(&i);
+       committed = atomic_long_read(&vm_committed_space);
+       allowed = ((totalram_pages - hugetlb_total_pages())
+               * sysctl_overcommit_ratio / 100) + total_swap_pages;
+
+       cached = global_page_state(NR_FILE_PAGES) -
+                       total_swapcache_pages - i.bufferram;
+       if (cached < 0)
+               cached = 0;
+
+       get_vmalloc_info(&vmi);
+
+       for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++)
+               pages[lru] = global_page_state(NR_LRU_BASE + lru);
+
+       /*
+        * Tagged format, for easy grepping and expansion.
+        */
+       seq_printf(m,
+               "MemTotal:       %8lu kB\n"
+               "MemFree:        %8lu kB\n"
+               "Buffers:        %8lu kB\n"
+               "Cached:         %8lu kB\n"
+               "SwapCached:     %8lu kB\n"
+               "Active:         %8lu kB\n"
+               "Inactive:       %8lu kB\n"
+               "Active(anon):   %8lu kB\n"
+               "Inactive(anon): %8lu kB\n"
+               "Active(file):   %8lu kB\n"
+               "Inactive(file): %8lu kB\n"
+#ifdef CONFIG_UNEVICTABLE_LRU
+               "Unevictable:    %8lu kB\n"
+               "Mlocked:        %8lu kB\n"
+#endif
+#ifdef CONFIG_HIGHMEM
+               "HighTotal:      %8lu kB\n"
+               "HighFree:       %8lu kB\n"
+               "LowTotal:       %8lu kB\n"
+               "LowFree:        %8lu kB\n"
+#endif
+               "SwapTotal:      %8lu kB\n"
+               "SwapFree:       %8lu kB\n"
+               "Dirty:          %8lu kB\n"
+               "Writeback:      %8lu kB\n"
+               "AnonPages:      %8lu kB\n"
+               "Mapped:         %8lu kB\n"
+               "Slab:           %8lu kB\n"
+               "SReclaimable:   %8lu kB\n"
+               "SUnreclaim:     %8lu kB\n"
+               "PageTables:     %8lu kB\n"
+#ifdef CONFIG_QUICKLIST
+               "Quicklists:     %8lu kB\n"
+#endif
+               "NFS_Unstable:   %8lu kB\n"
+               "Bounce:         %8lu kB\n"
+               "WritebackTmp:   %8lu kB\n"
+               "CommitLimit:    %8lu kB\n"
+               "Committed_AS:   %8lu kB\n"
+               "VmallocTotal:   %8lu kB\n"
+               "VmallocUsed:    %8lu kB\n"
+               "VmallocChunk:   %8lu kB\n",
+               K(i.totalram),
+               K(i.freeram),
+               K(i.bufferram),
+               K(cached),
+               K(total_swapcache_pages),
+               K(pages[LRU_ACTIVE_ANON]   + pages[LRU_ACTIVE_FILE]),
+               K(pages[LRU_INACTIVE_ANON] + pages[LRU_INACTIVE_FILE]),
+               K(pages[LRU_ACTIVE_ANON]),
+               K(pages[LRU_INACTIVE_ANON]),
+               K(pages[LRU_ACTIVE_FILE]),
+               K(pages[LRU_INACTIVE_FILE]),
+#ifdef CONFIG_UNEVICTABLE_LRU
+               K(pages[LRU_UNEVICTABLE]),
+               K(global_page_state(NR_MLOCK)),
+#endif
+#ifdef CONFIG_HIGHMEM
+               K(i.totalhigh),
+               K(i.freehigh),
+               K(i.totalram-i.totalhigh),
+               K(i.freeram-i.freehigh),
+#endif
+               K(i.totalswap),
+               K(i.freeswap),
+               K(global_page_state(NR_FILE_DIRTY)),
+               K(global_page_state(NR_WRITEBACK)),
+               K(global_page_state(NR_ANON_PAGES)),
+               K(global_page_state(NR_FILE_MAPPED)),
+               K(global_page_state(NR_SLAB_RECLAIMABLE) +
+                               global_page_state(NR_SLAB_UNRECLAIMABLE)),
+               K(global_page_state(NR_SLAB_RECLAIMABLE)),
+               K(global_page_state(NR_SLAB_UNRECLAIMABLE)),
+               K(global_page_state(NR_PAGETABLE)),
+#ifdef CONFIG_QUICKLIST
+               K(quicklist_total_size()),
+#endif
+               K(global_page_state(NR_UNSTABLE_NFS)),
+               K(global_page_state(NR_BOUNCE)),
+               K(global_page_state(NR_WRITEBACK_TEMP)),
+               K(allowed),
+               K(committed),
+               (unsigned long)VMALLOC_TOTAL >> 10,
+               vmi.used >> 10,
+               vmi.largest_chunk >> 10
+               );
+
+       hugetlb_report_meminfo(m);
+
+       arch_report_meminfo(m);
+
+       return 0;
+#undef K
+}
+
+static int meminfo_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, meminfo_proc_show, NULL);
+}
+
+static const struct file_operations meminfo_proc_fops = {
+       .open           = meminfo_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_meminfo_init(void)
+{
+       proc_create("meminfo", 0, NULL, &meminfo_proc_fops);
+       return 0;
+}
+module_init(proc_meminfo_init);
diff --git a/fs/proc/page.c b/fs/proc/page.c
new file mode 100644 (file)
index 0000000..767d95a
--- /dev/null
@@ -0,0 +1,147 @@
+#include <linux/bootmem.h>
+#include <linux/compiler.h>
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/mm.h>
+#include <linux/mmzone.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
+#include <asm/uaccess.h>
+#include "internal.h"
+
+#define KPMSIZE sizeof(u64)
+#define KPMMASK (KPMSIZE - 1)
+/* /proc/kpagecount - an array exposing page counts
+ *
+ * Each entry is a u64 representing the corresponding
+ * physical page count.
+ */
+static ssize_t kpagecount_read(struct file *file, char __user *buf,
+                            size_t count, loff_t *ppos)
+{
+       u64 __user *out = (u64 __user *)buf;
+       struct page *ppage;
+       unsigned long src = *ppos;
+       unsigned long pfn;
+       ssize_t ret = 0;
+       u64 pcount;
+
+       pfn = src / KPMSIZE;
+       count = min_t(size_t, count, (max_pfn * KPMSIZE) - src);
+       if (src & KPMMASK || count & KPMMASK)
+               return -EINVAL;
+
+       while (count > 0) {
+               ppage = NULL;
+               if (pfn_valid(pfn))
+                       ppage = pfn_to_page(pfn);
+               pfn++;
+               if (!ppage)
+                       pcount = 0;
+               else
+                       pcount = page_mapcount(ppage);
+
+               if (put_user(pcount, out++)) {
+                       ret = -EFAULT;
+                       break;
+               }
+
+               count -= KPMSIZE;
+       }
+
+       *ppos += (char __user *)out - buf;
+       if (!ret)
+               ret = (char __user *)out - buf;
+       return ret;
+}
+
+static const struct file_operations proc_kpagecount_operations = {
+       .llseek = mem_lseek,
+       .read = kpagecount_read,
+};
+
+/* /proc/kpageflags - an array exposing page flags
+ *
+ * Each entry is a u64 representing the corresponding
+ * physical page flags.
+ */
+
+/* These macros are used to decouple internal flags from exported ones */
+
+#define KPF_LOCKED     0
+#define KPF_ERROR      1
+#define KPF_REFERENCED 2
+#define KPF_UPTODATE   3
+#define KPF_DIRTY      4
+#define KPF_LRU        5
+#define KPF_ACTIVE     6
+#define KPF_SLAB       7
+#define KPF_WRITEBACK  8
+#define KPF_RECLAIM    9
+#define KPF_BUDDY     10
+
+#define kpf_copy_bit(flags, srcpos, dstpos) (((flags >> srcpos) & 1) << dstpos)
+
+static ssize_t kpageflags_read(struct file *file, char __user *buf,
+                            size_t count, loff_t *ppos)
+{
+       u64 __user *out = (u64 __user *)buf;
+       struct page *ppage;
+       unsigned long src = *ppos;
+       unsigned long pfn;
+       ssize_t ret = 0;
+       u64 kflags, uflags;
+
+       pfn = src / KPMSIZE;
+       count = min_t(unsigned long, count, (max_pfn * KPMSIZE) - src);
+       if (src & KPMMASK || count & KPMMASK)
+               return -EINVAL;
+
+       while (count > 0) {
+               ppage = NULL;
+               if (pfn_valid(pfn))
+                       ppage = pfn_to_page(pfn);
+               pfn++;
+               if (!ppage)
+                       kflags = 0;
+               else
+                       kflags = ppage->flags;
+
+               uflags = kpf_copy_bit(KPF_LOCKED, PG_locked, kflags) |
+                       kpf_copy_bit(kflags, KPF_ERROR, PG_error) |
+                       kpf_copy_bit(kflags, KPF_REFERENCED, PG_referenced) |
+                       kpf_copy_bit(kflags, KPF_UPTODATE, PG_uptodate) |
+                       kpf_copy_bit(kflags, KPF_DIRTY, PG_dirty) |
+                       kpf_copy_bit(kflags, KPF_LRU, PG_lru) |
+                       kpf_copy_bit(kflags, KPF_ACTIVE, PG_active) |
+                       kpf_copy_bit(kflags, KPF_SLAB, PG_slab) |
+                       kpf_copy_bit(kflags, KPF_WRITEBACK, PG_writeback) |
+                       kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) |
+                       kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy);
+
+               if (put_user(uflags, out++)) {
+                       ret = -EFAULT;
+                       break;
+               }
+
+               count -= KPMSIZE;
+       }
+
+       *ppos += (char __user *)out - buf;
+       if (!ret)
+               ret = (char __user *)out - buf;
+       return ret;
+}
+
+static const struct file_operations proc_kpageflags_operations = {
+       .llseek = mem_lseek,
+       .read = kpageflags_read,
+};
+
+static int __init proc_page_init(void)
+{
+       proc_create("kpagecount", S_IRUSR, NULL, &proc_kpagecount_operations);
+       proc_create("kpageflags", S_IRUSR, NULL, &proc_kpageflags_operations);
+       return 0;
+}
+module_init(proc_page_init);
index eca471bc85125626d32c011a820fd828f3124837..d777789b7a89e8f177a3ca5163590626bbe29983 100644 (file)
@@ -4,6 +4,7 @@
  * Copyright 1997 Paul Mackerras
  */
 #include <linux/errno.h>
+#include <linux/init.h>
 #include <linux/time.h>
 #include <linux/proc_fs.h>
 #include <linux/stat.h>
@@ -214,7 +215,7 @@ void proc_device_tree_add_node(struct device_node *np,
 /*
  * Called on initialization to set up the /proc/device-tree subtree
  */
-void proc_device_tree_init(void)
+void __init proc_device_tree_init(void)
 {
        struct device_node *root;
        if ( !have_of )
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
deleted file mode 100644 (file)
index 7ea52c7..0000000
+++ /dev/null
@@ -1,933 +0,0 @@
-/*
- *  linux/fs/proc/proc_misc.c
- *
- *  linux/fs/proc/array.c
- *  Copyright (C) 1992  by Linus Torvalds
- *  based on ideas by Darren Senn
- *
- *  This used to be the part of array.c. See the rest of history and credits
- *  there. I took this into a separate file and switched the thing to generic
- *  proc_file_inode_operations, leaving in array.c only per-process stuff.
- *  Inumbers allocation made dynamic (via create_proc_entry()).  AV, May 1999.
- *
- * Changes:
- * Fulton Green      :  Encapsulated position metric calculations.
- *                     <kernel@FultonGreen.com>
- */
-
-#include <linux/types.h>
-#include <linux/errno.h>
-#include <linux/time.h>
-#include <linux/kernel.h>
-#include <linux/kernel_stat.h>
-#include <linux/fs.h>
-#include <linux/tty.h>
-#include <linux/string.h>
-#include <linux/mman.h>
-#include <linux/quicklist.h>
-#include <linux/proc_fs.h>
-#include <linux/ioport.h>
-#include <linux/mm.h>
-#include <linux/mmzone.h>
-#include <linux/pagemap.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/swap.h>
-#include <linux/slab.h>
-#include <linux/genhd.h>
-#include <linux/smp.h>
-#include <linux/signal.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/seq_file.h>
-#include <linux/times.h>
-#include <linux/profile.h>
-#include <linux/utsname.h>
-#include <linux/blkdev.h>
-#include <linux/hugetlb.h>
-#include <linux/jiffies.h>
-#include <linux/vmalloc.h>
-#include <linux/crash_dump.h>
-#include <linux/pid_namespace.h>
-#include <linux/bootmem.h>
-#include <asm/uaccess.h>
-#include <asm/pgtable.h>
-#include <asm/io.h>
-#include <asm/tlb.h>
-#include <asm/div64.h>
-#include "internal.h"
-
-#define LOAD_INT(x) ((x) >> FSHIFT)
-#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
-/*
- * Warning: stuff below (imported functions) assumes that its output will fit
- * into one page. For some of those functions it may be wrong. Moreover, we
- * have a way to deal with that gracefully. Right now I used straightforward
- * wrappers, but this needs further analysis wrt potential overflows.
- */
-extern int get_hardware_list(char *);
-extern int get_stram_list(char *);
-extern int get_exec_domain_list(char *);
-
-static int proc_calc_metrics(char *page, char **start, off_t off,
-                                int count, int *eof, int len)
-{
-       if (len <= off+count) *eof = 1;
-       *start = page + off;
-       len -= off;
-       if (len>count) len = count;
-       if (len<0) len = 0;
-       return len;
-}
-
-static int loadavg_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       int a, b, c;
-       int len;
-       unsigned long seq;
-
-       do {
-               seq = read_seqbegin(&xtime_lock);
-               a = avenrun[0] + (FIXED_1/200);
-               b = avenrun[1] + (FIXED_1/200);
-               c = avenrun[2] + (FIXED_1/200);
-       } while (read_seqretry(&xtime_lock, seq));
-
-       len = sprintf(page,"%d.%02d %d.%02d %d.%02d %ld/%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,
-               task_active_pid_ns(current)->last_pid);
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-
-static int uptime_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       struct timespec uptime;
-       struct timespec idle;
-       int len;
-       cputime_t idletime = cputime_add(init_task.utime, init_task.stime);
-
-       do_posix_clock_monotonic_gettime(&uptime);
-       monotonic_to_bootbased(&uptime);
-       cputime_to_timespec(idletime, &idle);
-       len = sprintf(page,"%lu.%02lu %lu.%02lu\n",
-                       (unsigned long) uptime.tv_sec,
-                       (uptime.tv_nsec / (NSEC_PER_SEC / 100)),
-                       (unsigned long) idle.tv_sec,
-                       (idle.tv_nsec / (NSEC_PER_SEC / 100)));
-
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-
-int __attribute__((weak)) arch_report_meminfo(char *page)
-{
-       return 0;
-}
-
-static int meminfo_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       struct sysinfo i;
-       int len;
-       unsigned long committed;
-       unsigned long allowed;
-       struct vmalloc_info vmi;
-       long cached;
-       unsigned long pages[NR_LRU_LISTS];
-       int lru;
-
-/*
- * display in kilobytes.
- */
-#define K(x) ((x) << (PAGE_SHIFT - 10))
-       si_meminfo(&i);
-       si_swapinfo(&i);
-       committed = atomic_long_read(&vm_committed_space);
-       allowed = ((totalram_pages - hugetlb_total_pages())
-               * sysctl_overcommit_ratio / 100) + total_swap_pages;
-
-       cached = global_page_state(NR_FILE_PAGES) -
-                       total_swapcache_pages - i.bufferram;
-       if (cached < 0)
-               cached = 0;
-
-       get_vmalloc_info(&vmi);
-
-       for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++)
-               pages[lru] = global_page_state(NR_LRU_BASE + lru);
-
-       /*
-        * Tagged format, for easy grepping and expansion.
-        */
-       len = sprintf(page,
-               "MemTotal:       %8lu kB\n"
-               "MemFree:        %8lu kB\n"
-               "Buffers:        %8lu kB\n"
-               "Cached:         %8lu kB\n"
-               "SwapCached:     %8lu kB\n"
-               "Active:         %8lu kB\n"
-               "Inactive:       %8lu kB\n"
-               "Active(anon):   %8lu kB\n"
-               "Inactive(anon): %8lu kB\n"
-               "Active(file):   %8lu kB\n"
-               "Inactive(file): %8lu kB\n"
-#ifdef CONFIG_UNEVICTABLE_LRU
-               "Unevictable:    %8lu kB\n"
-               "Mlocked:        %8lu kB\n"
-#endif
-#ifdef CONFIG_HIGHMEM
-               "HighTotal:      %8lu kB\n"
-               "HighFree:       %8lu kB\n"
-               "LowTotal:       %8lu kB\n"
-               "LowFree:        %8lu kB\n"
-#endif
-               "SwapTotal:      %8lu kB\n"
-               "SwapFree:       %8lu kB\n"
-               "Dirty:          %8lu kB\n"
-               "Writeback:      %8lu kB\n"
-               "AnonPages:      %8lu kB\n"
-               "Mapped:         %8lu kB\n"
-               "Slab:           %8lu kB\n"
-               "SReclaimable:   %8lu kB\n"
-               "SUnreclaim:     %8lu kB\n"
-               "PageTables:     %8lu kB\n"
-#ifdef CONFIG_QUICKLIST
-               "Quicklists:     %8lu kB\n"
-#endif
-               "NFS_Unstable:   %8lu kB\n"
-               "Bounce:         %8lu kB\n"
-               "WritebackTmp:   %8lu kB\n"
-               "CommitLimit:    %8lu kB\n"
-               "Committed_AS:   %8lu kB\n"
-               "VmallocTotal:   %8lu kB\n"
-               "VmallocUsed:    %8lu kB\n"
-               "VmallocChunk:   %8lu kB\n",
-               K(i.totalram),
-               K(i.freeram),
-               K(i.bufferram),
-               K(cached),
-               K(total_swapcache_pages),
-               K(pages[LRU_ACTIVE_ANON]   + pages[LRU_ACTIVE_FILE]),
-               K(pages[LRU_INACTIVE_ANON] + pages[LRU_INACTIVE_FILE]),
-               K(pages[LRU_ACTIVE_ANON]),
-               K(pages[LRU_INACTIVE_ANON]),
-               K(pages[LRU_ACTIVE_FILE]),
-               K(pages[LRU_INACTIVE_FILE]),
-#ifdef CONFIG_UNEVICTABLE_LRU
-               K(pages[LRU_UNEVICTABLE]),
-               K(global_page_state(NR_MLOCK)),
-#endif
-#ifdef CONFIG_HIGHMEM
-               K(i.totalhigh),
-               K(i.freehigh),
-               K(i.totalram-i.totalhigh),
-               K(i.freeram-i.freehigh),
-#endif
-               K(i.totalswap),
-               K(i.freeswap),
-               K(global_page_state(NR_FILE_DIRTY)),
-               K(global_page_state(NR_WRITEBACK)),
-               K(global_page_state(NR_ANON_PAGES)),
-               K(global_page_state(NR_FILE_MAPPED)),
-               K(global_page_state(NR_SLAB_RECLAIMABLE) +
-                               global_page_state(NR_SLAB_UNRECLAIMABLE)),
-               K(global_page_state(NR_SLAB_RECLAIMABLE)),
-               K(global_page_state(NR_SLAB_UNRECLAIMABLE)),
-               K(global_page_state(NR_PAGETABLE)),
-#ifdef CONFIG_QUICKLIST
-               K(quicklist_total_size()),
-#endif
-               K(global_page_state(NR_UNSTABLE_NFS)),
-               K(global_page_state(NR_BOUNCE)),
-               K(global_page_state(NR_WRITEBACK_TEMP)),
-               K(allowed),
-               K(committed),
-               (unsigned long)VMALLOC_TOTAL >> 10,
-               vmi.used >> 10,
-               vmi.largest_chunk >> 10
-               );
-
-               len += hugetlb_report_meminfo(page + len);
-
-       len += arch_report_meminfo(page + len);
-
-       return proc_calc_metrics(page, start, off, count, eof, len);
-#undef K
-}
-
-static int fragmentation_open(struct inode *inode, struct file *file)
-{
-       (void)inode;
-       return seq_open(file, &fragmentation_op);
-}
-
-static const struct file_operations fragmentation_file_operations = {
-       .open           = fragmentation_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-static int pagetypeinfo_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &pagetypeinfo_op);
-}
-
-static const struct file_operations pagetypeinfo_file_ops = {
-       .open           = pagetypeinfo_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-static int zoneinfo_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &zoneinfo_op);
-}
-
-static const struct file_operations proc_zoneinfo_file_operations = {
-       .open           = zoneinfo_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-static int version_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       int len;
-
-       len = snprintf(page, PAGE_SIZE, linux_proc_banner,
-               utsname()->sysname,
-               utsname()->release,
-               utsname()->version);
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-
-extern const struct seq_operations cpuinfo_op;
-static int cpuinfo_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &cpuinfo_op);
-}
-
-static const struct file_operations proc_cpuinfo_operations = {
-       .open           = cpuinfo_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-static int devinfo_show(struct seq_file *f, void *v)
-{
-       int i = *(loff_t *) v;
-
-       if (i < CHRDEV_MAJOR_HASH_SIZE) {
-               if (i == 0)
-                       seq_printf(f, "Character devices:\n");
-               chrdev_show(f, i);
-       }
-#ifdef CONFIG_BLOCK
-       else {
-               i -= CHRDEV_MAJOR_HASH_SIZE;
-               if (i == 0)
-                       seq_printf(f, "\nBlock devices:\n");
-               blkdev_show(f, i);
-       }
-#endif
-       return 0;
-}
-
-static void *devinfo_start(struct seq_file *f, loff_t *pos)
-{
-       if (*pos < (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE))
-               return pos;
-       return NULL;
-}
-
-static void *devinfo_next(struct seq_file *f, void *v, loff_t *pos)
-{
-       (*pos)++;
-       if (*pos >= (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE))
-               return NULL;
-       return pos;
-}
-
-static void devinfo_stop(struct seq_file *f, void *v)
-{
-       /* Nothing to do */
-}
-
-static const struct seq_operations devinfo_ops = {
-       .start = devinfo_start,
-       .next  = devinfo_next,
-       .stop  = devinfo_stop,
-       .show  = devinfo_show
-};
-
-static int devinfo_open(struct inode *inode, struct file *filp)
-{
-       return seq_open(filp, &devinfo_ops);
-}
-
-static const struct file_operations proc_devinfo_operations = {
-       .open           = devinfo_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-static int vmstat_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &vmstat_op);
-}
-static const struct file_operations proc_vmstat_file_operations = {
-       .open           = vmstat_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-#ifdef CONFIG_PROC_HARDWARE
-static int hardware_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       int len = get_hardware_list(page);
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-#endif
-
-#ifdef CONFIG_STRAM_PROC
-static int stram_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       int len = get_stram_list(page);
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-#endif
-
-#ifdef CONFIG_BLOCK
-static int partitions_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &partitions_op);
-}
-static const struct file_operations proc_partitions_operations = {
-       .open           = partitions_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-static int diskstats_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &diskstats_op);
-}
-static const struct file_operations proc_diskstats_operations = {
-       .open           = diskstats_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-#endif
-
-#ifdef CONFIG_MODULES
-extern const struct seq_operations modules_op;
-static int modules_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &modules_op);
-}
-static const struct file_operations proc_modules_operations = {
-       .open           = modules_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-#endif
-
-#ifdef CONFIG_SLABINFO
-static int slabinfo_open(struct inode *inode, struct file *file)
-{
-       return seq_open(file, &slabinfo_op);
-}
-static const struct file_operations proc_slabinfo_operations = {
-       .open           = slabinfo_open,
-       .read           = seq_read,
-       .write          = slabinfo_write,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-#ifdef CONFIG_DEBUG_SLAB_LEAK
-extern const struct seq_operations slabstats_op;
-static int slabstats_open(struct inode *inode, struct file *file)
-{
-       unsigned long *n = kzalloc(PAGE_SIZE, GFP_KERNEL);
-       int ret = -ENOMEM;
-       if (n) {
-               ret = seq_open(file, &slabstats_op);
-               if (!ret) {
-                       struct seq_file *m = file->private_data;
-                       *n = PAGE_SIZE / (2 * sizeof(unsigned long));
-                       m->private = n;
-                       n = NULL;
-               }
-               kfree(n);
-       }
-       return ret;
-}
-
-static const struct file_operations proc_slabstats_operations = {
-       .open           = slabstats_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release_private,
-};
-#endif
-#endif
-
-#ifdef CONFIG_MMU
-static int vmalloc_open(struct inode *inode, struct file *file)
-{
-       unsigned int *ptr = NULL;
-       int ret;
-
-       if (NUMA_BUILD)
-               ptr = kmalloc(nr_node_ids * sizeof(unsigned int), GFP_KERNEL);
-       ret = seq_open(file, &vmalloc_op);
-       if (!ret) {
-               struct seq_file *m = file->private_data;
-               m->private = ptr;
-       } else
-               kfree(ptr);
-       return ret;
-}
-
-static const struct file_operations proc_vmalloc_operations = {
-       .open           = vmalloc_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release_private,
-};
-#endif
-
-#ifndef arch_irq_stat_cpu
-#define arch_irq_stat_cpu(cpu) 0
-#endif
-#ifndef arch_irq_stat
-#define arch_irq_stat() 0
-#endif
-
-static int show_stat(struct seq_file *p, void *v)
-{
-       int i, j;
-       unsigned long jif;
-       cputime64_t user, nice, system, idle, iowait, irq, softirq, steal;
-       cputime64_t guest;
-       u64 sum = 0;
-       struct timespec boottime;
-       unsigned int per_irq_sum;
-
-       user = nice = system = idle = iowait =
-               irq = softirq = steal = cputime64_zero;
-       guest = cputime64_zero;
-       getboottime(&boottime);
-       jif = boottime.tv_sec;
-
-       for_each_possible_cpu(i) {
-               user = cputime64_add(user, kstat_cpu(i).cpustat.user);
-               nice = cputime64_add(nice, kstat_cpu(i).cpustat.nice);
-               system = cputime64_add(system, kstat_cpu(i).cpustat.system);
-               idle = cputime64_add(idle, kstat_cpu(i).cpustat.idle);
-               iowait = cputime64_add(iowait, kstat_cpu(i).cpustat.iowait);
-               irq = cputime64_add(irq, kstat_cpu(i).cpustat.irq);
-               softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
-               steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
-               guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest);
-
-               for_each_irq_nr(j)
-                       sum += kstat_irqs_cpu(j, i);
-
-               sum += arch_irq_stat_cpu(i);
-       }
-       sum += arch_irq_stat();
-
-       seq_printf(p, "cpu  %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
-               (unsigned long long)cputime64_to_clock_t(user),
-               (unsigned long long)cputime64_to_clock_t(nice),
-               (unsigned long long)cputime64_to_clock_t(system),
-               (unsigned long long)cputime64_to_clock_t(idle),
-               (unsigned long long)cputime64_to_clock_t(iowait),
-               (unsigned long long)cputime64_to_clock_t(irq),
-               (unsigned long long)cputime64_to_clock_t(softirq),
-               (unsigned long long)cputime64_to_clock_t(steal),
-               (unsigned long long)cputime64_to_clock_t(guest));
-       for_each_online_cpu(i) {
-
-               /* Copy values here to work around gcc-2.95.3, gcc-2.96 */
-               user = kstat_cpu(i).cpustat.user;
-               nice = kstat_cpu(i).cpustat.nice;
-               system = kstat_cpu(i).cpustat.system;
-               idle = kstat_cpu(i).cpustat.idle;
-               iowait = kstat_cpu(i).cpustat.iowait;
-               irq = kstat_cpu(i).cpustat.irq;
-               softirq = kstat_cpu(i).cpustat.softirq;
-               steal = kstat_cpu(i).cpustat.steal;
-               guest = kstat_cpu(i).cpustat.guest;
-               seq_printf(p,
-                       "cpu%d %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
-                       i,
-                       (unsigned long long)cputime64_to_clock_t(user),
-                       (unsigned long long)cputime64_to_clock_t(nice),
-                       (unsigned long long)cputime64_to_clock_t(system),
-                       (unsigned long long)cputime64_to_clock_t(idle),
-                       (unsigned long long)cputime64_to_clock_t(iowait),
-                       (unsigned long long)cputime64_to_clock_t(irq),
-                       (unsigned long long)cputime64_to_clock_t(softirq),
-                       (unsigned long long)cputime64_to_clock_t(steal),
-                       (unsigned long long)cputime64_to_clock_t(guest));
-       }
-       seq_printf(p, "intr %llu", (unsigned long long)sum);
-
-       /* sum again ? it could be updated? */
-       for_each_irq_nr(j) {
-               per_irq_sum = 0;
-
-               for_each_possible_cpu(i)
-                       per_irq_sum += kstat_irqs_cpu(j, i);
-
-               seq_printf(p, " %u", per_irq_sum);
-       }
-
-       seq_printf(p,
-               "\nctxt %llu\n"
-               "btime %lu\n"
-               "processes %lu\n"
-               "procs_running %lu\n"
-               "procs_blocked %lu\n",
-               nr_context_switches(),
-               (unsigned long)jif,
-               total_forks,
-               nr_running(),
-               nr_iowait());
-
-       return 0;
-}
-
-static int stat_open(struct inode *inode, struct file *file)
-{
-       unsigned size = 4096 * (1 + num_possible_cpus() / 32);
-       char *buf;
-       struct seq_file *m;
-       int res;
-
-       /* don't ask for more than the kmalloc() max size, currently 128 KB */
-       if (size > 128 * 1024)
-               size = 128 * 1024;
-       buf = kmalloc(size, GFP_KERNEL);
-       if (!buf)
-               return -ENOMEM;
-
-       res = single_open(file, show_stat, NULL);
-       if (!res) {
-               m = file->private_data;
-               m->buf = buf;
-               m->size = size;
-       } else
-               kfree(buf);
-       return res;
-}
-static const struct file_operations proc_stat_operations = {
-       .open           = stat_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-};
-
-/*
- * /proc/interrupts
- */
-static void *int_seq_start(struct seq_file *f, loff_t *pos)
-{
-       return (*pos <= nr_irqs) ? pos : NULL;
-}
-
-
-static void *int_seq_next(struct seq_file *f, void *v, loff_t *pos)
-{
-       (*pos)++;
-       return (*pos <= nr_irqs) ? pos : NULL;
-}
-
-static void int_seq_stop(struct seq_file *f, void *v)
-{
-       /* Nothing to do */
-}
-
-static const struct seq_operations int_seq_ops = {
-       .start = int_seq_start,
-       .next  = int_seq_next,
-       .stop  = int_seq_stop,
-       .show  = show_interrupts
-};
-
-static int interrupts_open(struct inode *inode, struct file *filp)
-{
-       return seq_open(filp, &int_seq_ops);
-}
-
-static const struct file_operations proc_interrupts_operations = {
-       .open           = interrupts_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-
-static int filesystems_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       int len = get_filesystem_list(page);
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-
-static int cmdline_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       int len;
-
-       len = sprintf(page, "%s\n", saved_command_line);
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-
-#ifdef CONFIG_FILE_LOCKING
-static int locks_open(struct inode *inode, struct file *filp)
-{
-       return seq_open(filp, &locks_seq_operations);
-}
-
-static const struct file_operations proc_locks_operations = {
-       .open           = locks_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = seq_release,
-};
-#endif /* CONFIG_FILE_LOCKING */
-
-static int execdomains_read_proc(char *page, char **start, off_t off,
-                                int count, int *eof, void *data)
-{
-       int len = get_exec_domain_list(page);
-       return proc_calc_metrics(page, start, off, count, eof, len);
-}
-
-#ifdef CONFIG_PROC_PAGE_MONITOR
-#define KPMSIZE sizeof(u64)
-#define KPMMASK (KPMSIZE - 1)
-/* /proc/kpagecount - an array exposing page counts
- *
- * Each entry is a u64 representing the corresponding
- * physical page count.
- */
-static ssize_t kpagecount_read(struct file *file, char __user *buf,
-                            size_t count, loff_t *ppos)
-{
-       u64 __user *out = (u64 __user *)buf;
-       struct page *ppage;
-       unsigned long src = *ppos;
-       unsigned long pfn;
-       ssize_t ret = 0;
-       u64 pcount;
-
-       pfn = src / KPMSIZE;
-       count = min_t(size_t, count, (max_pfn * KPMSIZE) - src);
-       if (src & KPMMASK || count & KPMMASK)
-               return -EINVAL;
-
-       while (count > 0) {
-               ppage = NULL;
-               if (pfn_valid(pfn))
-                       ppage = pfn_to_page(pfn);
-               pfn++;
-               if (!ppage)
-                       pcount = 0;
-               else
-                       pcount = page_mapcount(ppage);
-
-               if (put_user(pcount, out++)) {
-                       ret = -EFAULT;
-                       break;
-               }
-
-               count -= KPMSIZE;
-       }
-
-       *ppos += (char __user *)out - buf;
-       if (!ret)
-               ret = (char __user *)out - buf;
-       return ret;
-}
-
-static struct file_operations proc_kpagecount_operations = {
-       .llseek = mem_lseek,
-       .read = kpagecount_read,
-};
-
-/* /proc/kpageflags - an array exposing page flags
- *
- * Each entry is a u64 representing the corresponding
- * physical page flags.
- */
-
-/* These macros are used to decouple internal flags from exported ones */
-
-#define KPF_LOCKED     0
-#define KPF_ERROR      1
-#define KPF_REFERENCED 2
-#define KPF_UPTODATE   3
-#define KPF_DIRTY      4
-#define KPF_LRU        5
-#define KPF_ACTIVE     6
-#define KPF_SLAB       7
-#define KPF_WRITEBACK  8
-#define KPF_RECLAIM    9
-#define KPF_BUDDY     10
-
-#define kpf_copy_bit(flags, srcpos, dstpos) (((flags >> srcpos) & 1) << dstpos)
-
-static ssize_t kpageflags_read(struct file *file, char __user *buf,
-                            size_t count, loff_t *ppos)
-{
-       u64 __user *out = (u64 __user *)buf;
-       struct page *ppage;
-       unsigned long src = *ppos;
-       unsigned long pfn;
-       ssize_t ret = 0;
-       u64 kflags, uflags;
-
-       pfn = src / KPMSIZE;
-       count = min_t(unsigned long, count, (max_pfn * KPMSIZE) - src);
-       if (src & KPMMASK || count & KPMMASK)
-               return -EINVAL;
-
-       while (count > 0) {
-               ppage = NULL;
-               if (pfn_valid(pfn))
-                       ppage = pfn_to_page(pfn);
-               pfn++;
-               if (!ppage)
-                       kflags = 0;
-               else
-                       kflags = ppage->flags;
-
-               uflags = kpf_copy_bit(KPF_LOCKED, PG_locked, kflags) |
-                       kpf_copy_bit(kflags, KPF_ERROR, PG_error) |
-                       kpf_copy_bit(kflags, KPF_REFERENCED, PG_referenced) |
-                       kpf_copy_bit(kflags, KPF_UPTODATE, PG_uptodate) |
-                       kpf_copy_bit(kflags, KPF_DIRTY, PG_dirty) |
-                       kpf_copy_bit(kflags, KPF_LRU, PG_lru) |
-                       kpf_copy_bit(kflags, KPF_ACTIVE, PG_active) |
-                       kpf_copy_bit(kflags, KPF_SLAB, PG_slab) |
-                       kpf_copy_bit(kflags, KPF_WRITEBACK, PG_writeback) |
-                       kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) |
-                       kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy);
-
-               if (put_user(uflags, out++)) {
-                       ret = -EFAULT;
-                       break;
-               }
-
-               count -= KPMSIZE;
-       }
-
-       *ppos += (char __user *)out - buf;
-       if (!ret)
-               ret = (char __user *)out - buf;
-       return ret;
-}
-
-static struct file_operations proc_kpageflags_operations = {
-       .llseek = mem_lseek,
-       .read = kpageflags_read,
-};
-#endif /* CONFIG_PROC_PAGE_MONITOR */
-
-struct proc_dir_entry *proc_root_kcore;
-
-void __init proc_misc_init(void)
-{
-       static struct {
-               char *name;
-               int (*read_proc)(char*,char**,off_t,int,int*,void*);
-       } *p, simple_ones[] = {
-               {"loadavg",     loadavg_read_proc},
-               {"uptime",      uptime_read_proc},
-               {"meminfo",     meminfo_read_proc},
-               {"version",     version_read_proc},
-#ifdef CONFIG_PROC_HARDWARE
-               {"hardware",    hardware_read_proc},
-#endif
-#ifdef CONFIG_STRAM_PROC
-               {"stram",       stram_read_proc},
-#endif
-               {"filesystems", filesystems_read_proc},
-               {"cmdline",     cmdline_read_proc},
-               {"execdomains", execdomains_read_proc},
-               {NULL,}
-       };
-       for (p = simple_ones; p->name; p++)
-               create_proc_read_entry(p->name, 0, NULL, p->read_proc, NULL);
-
-       proc_symlink("mounts", NULL, "self/mounts");
-
-       /* And now for trickier ones */
-#ifdef CONFIG_PRINTK
-       proc_create("kmsg", S_IRUSR, NULL, &proc_kmsg_operations);
-#endif
-#ifdef CONFIG_FILE_LOCKING
-       proc_create("locks", 0, NULL, &proc_locks_operations);
-#endif
-       proc_create("devices", 0, NULL, &proc_devinfo_operations);
-       proc_create("cpuinfo", 0, NULL, &proc_cpuinfo_operations);
-#ifdef CONFIG_BLOCK
-       proc_create("partitions", 0, NULL, &proc_partitions_operations);
-#endif
-       proc_create("stat", 0, NULL, &proc_stat_operations);
-       proc_create("interrupts", 0, NULL, &proc_interrupts_operations);
-#ifdef CONFIG_SLABINFO
-       proc_create("slabinfo",S_IWUSR|S_IRUGO,NULL,&proc_slabinfo_operations);
-#ifdef CONFIG_DEBUG_SLAB_LEAK
-       proc_create("slab_allocators", 0, NULL, &proc_slabstats_operations);
-#endif
-#endif
-#ifdef CONFIG_MMU
-       proc_create("vmallocinfo", S_IRUSR, NULL, &proc_vmalloc_operations);
-#endif
-       proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations);
-       proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops);
-       proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations);
-       proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations);
-#ifdef CONFIG_BLOCK
-       proc_create("diskstats", 0, NULL, &proc_diskstats_operations);
-#endif
-#ifdef CONFIG_MODULES
-       proc_create("modules", 0, NULL, &proc_modules_operations);
-#endif
-#ifdef CONFIG_SCHEDSTATS
-       proc_create("schedstat", 0, NULL, &proc_schedstat_operations);
-#endif
-#ifdef CONFIG_PROC_KCORE
-       proc_root_kcore = proc_create("kcore", S_IRUSR, NULL, &proc_kcore_operations);
-       if (proc_root_kcore)
-               proc_root_kcore->size =
-                               (size_t)high_memory - PAGE_OFFSET + PAGE_SIZE;
-#endif
-#ifdef CONFIG_PROC_PAGE_MONITOR
-       proc_create("kpagecount", S_IRUSR, NULL, &proc_kpagecount_operations);
-       proc_create("kpageflags", S_IRUSR, NULL, &proc_kpageflags_operations);
-#endif
-#ifdef CONFIG_PROC_VMCORE
-       proc_vmcore = proc_create("vmcore", S_IRUSR, NULL, &proc_vmcore_operations);
-#endif
-}
index 7b997754a25e705ddb41009b0741ddad3c3799a2..94fcfff6863a5976965b8d4253ff3ad1ac45386b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * /proc/sys support
  */
-
+#include <linux/init.h>
 #include <linux/sysctl.h>
 #include <linux/proc_fs.h>
 #include <linux/security.h>
@@ -402,7 +402,7 @@ static struct dentry_operations proc_sys_dentry_operations = {
        .d_compare      = proc_sys_compare,
 };
 
-int proc_sys_init(void)
+int __init proc_sys_init(void)
 {
        struct proc_dir_entry *proc_sys_root;
 
index 95117538a4f6fd3b4fdc90558127caa282d7e800..7761602af9de4f7290f33c50a8d97e2f1f31c2ec 100644 (file)
@@ -104,9 +104,9 @@ static struct file_system_type proc_fs_type = {
 
 void __init proc_root_init(void)
 {
-       int err = proc_init_inodecache();
-       if (err)
-               return;
+       int err;
+
+       proc_init_inodecache();
        err = register_filesystem(&proc_fs_type);
        if (err)
                return;
@@ -117,7 +117,7 @@ void __init proc_root_init(void)
                return;
        }
 
-       proc_misc_init();
+       proc_symlink("mounts", NULL, "self/mounts");
 
        proc_net_init();
 
diff --git a/fs/proc/stat.c b/fs/proc/stat.c
new file mode 100644 (file)
index 0000000..81904f0
--- /dev/null
@@ -0,0 +1,153 @@
+#include <linux/cpumask.h>
+#include <linux/fs.h>
+#include <linux/gfp.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/kernel_stat.h>
+#include <linux/proc_fs.h>
+#include <linux/sched.h>
+#include <linux/seq_file.h>
+#include <linux/slab.h>
+#include <linux/time.h>
+#include <asm/cputime.h>
+
+#ifndef arch_irq_stat_cpu
+#define arch_irq_stat_cpu(cpu) 0
+#endif
+#ifndef arch_irq_stat
+#define arch_irq_stat() 0
+#endif
+
+static int show_stat(struct seq_file *p, void *v)
+{
+       int i, j;
+       unsigned long jif;
+       cputime64_t user, nice, system, idle, iowait, irq, softirq, steal;
+       cputime64_t guest;
+       u64 sum = 0;
+       struct timespec boottime;
+       unsigned int per_irq_sum;
+
+       user = nice = system = idle = iowait =
+               irq = softirq = steal = cputime64_zero;
+       guest = cputime64_zero;
+       getboottime(&boottime);
+       jif = boottime.tv_sec;
+
+       for_each_possible_cpu(i) {
+               user = cputime64_add(user, kstat_cpu(i).cpustat.user);
+               nice = cputime64_add(nice, kstat_cpu(i).cpustat.nice);
+               system = cputime64_add(system, kstat_cpu(i).cpustat.system);
+               idle = cputime64_add(idle, kstat_cpu(i).cpustat.idle);
+               iowait = cputime64_add(iowait, kstat_cpu(i).cpustat.iowait);
+               irq = cputime64_add(irq, kstat_cpu(i).cpustat.irq);
+               softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
+               steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
+               guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest);
+
+               for_each_irq_nr(j)
+                       sum += kstat_irqs_cpu(j, i);
+
+               sum += arch_irq_stat_cpu(i);
+       }
+       sum += arch_irq_stat();
+
+       seq_printf(p, "cpu  %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
+               (unsigned long long)cputime64_to_clock_t(user),
+               (unsigned long long)cputime64_to_clock_t(nice),
+               (unsigned long long)cputime64_to_clock_t(system),
+               (unsigned long long)cputime64_to_clock_t(idle),
+               (unsigned long long)cputime64_to_clock_t(iowait),
+               (unsigned long long)cputime64_to_clock_t(irq),
+               (unsigned long long)cputime64_to_clock_t(softirq),
+               (unsigned long long)cputime64_to_clock_t(steal),
+               (unsigned long long)cputime64_to_clock_t(guest));
+       for_each_online_cpu(i) {
+
+               /* Copy values here to work around gcc-2.95.3, gcc-2.96 */
+               user = kstat_cpu(i).cpustat.user;
+               nice = kstat_cpu(i).cpustat.nice;
+               system = kstat_cpu(i).cpustat.system;
+               idle = kstat_cpu(i).cpustat.idle;
+               iowait = kstat_cpu(i).cpustat.iowait;
+               irq = kstat_cpu(i).cpustat.irq;
+               softirq = kstat_cpu(i).cpustat.softirq;
+               steal = kstat_cpu(i).cpustat.steal;
+               guest = kstat_cpu(i).cpustat.guest;
+               seq_printf(p,
+                       "cpu%d %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
+                       i,
+                       (unsigned long long)cputime64_to_clock_t(user),
+                       (unsigned long long)cputime64_to_clock_t(nice),
+                       (unsigned long long)cputime64_to_clock_t(system),
+                       (unsigned long long)cputime64_to_clock_t(idle),
+                       (unsigned long long)cputime64_to_clock_t(iowait),
+                       (unsigned long long)cputime64_to_clock_t(irq),
+                       (unsigned long long)cputime64_to_clock_t(softirq),
+                       (unsigned long long)cputime64_to_clock_t(steal),
+                       (unsigned long long)cputime64_to_clock_t(guest));
+       }
+       seq_printf(p, "intr %llu", (unsigned long long)sum);
+
+       /* sum again ? it could be updated? */
+       for_each_irq_nr(j) {
+               per_irq_sum = 0;
+
+               for_each_possible_cpu(i)
+                       per_irq_sum += kstat_irqs_cpu(j, i);
+
+               seq_printf(p, " %u", per_irq_sum);
+       }
+
+       seq_printf(p,
+               "\nctxt %llu\n"
+               "btime %lu\n"
+               "processes %lu\n"
+               "procs_running %lu\n"
+               "procs_blocked %lu\n",
+               nr_context_switches(),
+               (unsigned long)jif,
+               total_forks,
+               nr_running(),
+               nr_iowait());
+
+       return 0;
+}
+
+static int stat_open(struct inode *inode, struct file *file)
+{
+       unsigned size = 4096 * (1 + num_possible_cpus() / 32);
+       char *buf;
+       struct seq_file *m;
+       int res;
+
+       /* don't ask for more than the kmalloc() max size, currently 128 KB */
+       if (size > 128 * 1024)
+               size = 128 * 1024;
+       buf = kmalloc(size, GFP_KERNEL);
+       if (!buf)
+               return -ENOMEM;
+
+       res = single_open(file, show_stat, NULL);
+       if (!res) {
+               m = file->private_data;
+               m->buf = buf;
+               m->size = size;
+       } else
+               kfree(buf);
+       return res;
+}
+
+static const struct file_operations proc_stat_operations = {
+       .open           = stat_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_stat_init(void)
+{
+       proc_create("stat", 0, NULL, &proc_stat_operations);
+       return 0;
+}
+module_init(proc_stat_init);
index 4806830ea2a1b0515c2faf00f52a6134f0f418c1..b770c095e45c62f86e78da2f9d1524085f9d45fd 100644 (file)
@@ -198,11 +198,8 @@ static int do_maps_open(struct inode *inode, struct file *file,
        return ret;
 }
 
-static int show_map(struct seq_file *m, void *v)
+static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
 {
-       struct proc_maps_private *priv = m->private;
-       struct task_struct *task = priv->task;
-       struct vm_area_struct *vma = v;
        struct mm_struct *mm = vma->vm_mm;
        struct file *file = vma->vm_file;
        int flags = vma->vm_flags;
@@ -254,6 +251,15 @@ static int show_map(struct seq_file *m, void *v)
                }
        }
        seq_putc(m, '\n');
+}
+
+static int show_map(struct seq_file *m, void *v)
+{
+       struct vm_area_struct *vma = v;
+       struct proc_maps_private *priv = m->private;
+       struct task_struct *task = priv->task;
+
+       show_map_vma(m, vma);
 
        if (m->count < m->size)  /* vma is copied successfully */
                m->version = (vma != get_gate_vma(task))? vma->vm_start: 0;
@@ -364,9 +370,10 @@ static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 
 static int show_smap(struct seq_file *m, void *v)
 {
+       struct proc_maps_private *priv = m->private;
+       struct task_struct *task = priv->task;
        struct vm_area_struct *vma = v;
        struct mem_size_stats mss;
-       int ret;
        struct mm_walk smaps_walk = {
                .pmd_entry = smaps_pte_range,
                .mm = vma->vm_mm,
@@ -378,9 +385,7 @@ static int show_smap(struct seq_file *m, void *v)
        if (vma->vm_mm && !is_vm_hugetlb_page(vma))
                walk_page_range(vma->vm_start, vma->vm_end, &smaps_walk);
 
-       ret = show_map(m, v);
-       if (ret)
-               return ret;
+       show_map_vma(m, vma);
 
        seq_printf(m,
                   "Size:           %8lu kB\n"
@@ -402,7 +407,9 @@ static int show_smap(struct seq_file *m, void *v)
                   mss.referenced >> 10,
                   mss.swap >> 10);
 
-       return ret;
+       if (m->count < m->size)  /* vma is copied successfully */
+               m->version = (vma != get_gate_vma(task)) ? vma->vm_start : 0;
+       return 0;
 }
 
 static const struct seq_operations proc_pid_smaps_op = {
diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
new file mode 100644 (file)
index 0000000..0c10a0b
--- /dev/null
@@ -0,0 +1,43 @@
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/proc_fs.h>
+#include <linux/sched.h>
+#include <linux/seq_file.h>
+#include <linux/time.h>
+#include <asm/cputime.h>
+
+static int uptime_proc_show(struct seq_file *m, void *v)
+{
+       struct timespec uptime;
+       struct timespec idle;
+       cputime_t idletime = cputime_add(init_task.utime, init_task.stime);
+
+       do_posix_clock_monotonic_gettime(&uptime);
+       monotonic_to_bootbased(&uptime);
+       cputime_to_timespec(idletime, &idle);
+       seq_printf(m, "%lu.%02lu %lu.%02lu\n",
+                       (unsigned long) uptime.tv_sec,
+                       (uptime.tv_nsec / (NSEC_PER_SEC / 100)),
+                       (unsigned long) idle.tv_sec,
+                       (idle.tv_nsec / (NSEC_PER_SEC / 100)));
+       return 0;
+}
+
+static int uptime_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, uptime_proc_show, NULL);
+}
+
+static const struct file_operations uptime_proc_fops = {
+       .open           = uptime_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_uptime_init(void)
+{
+       proc_create("uptime", 0, NULL, &uptime_proc_fops);
+       return 0;
+}
+module_init(proc_uptime_init);
diff --git a/fs/proc/version.c b/fs/proc/version.c
new file mode 100644 (file)
index 0000000..76817a6
--- /dev/null
@@ -0,0 +1,34 @@
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
+#include <linux/utsname.h>
+
+static int version_proc_show(struct seq_file *m, void *v)
+{
+       seq_printf(m, linux_proc_banner,
+               utsname()->sysname,
+               utsname()->release,
+               utsname()->version);
+       return 0;
+}
+
+static int version_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, version_proc_show, NULL);
+}
+
+static const struct file_operations version_proc_fops = {
+       .open           = version_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_version_init(void)
+{
+       proc_create("version", 0, NULL, &version_proc_fops);
+       return 0;
+}
+module_init(proc_version_init);
index cd9ca67f841bd38d6256f14eccfd3fd6d8174522..03ec595049065f41b2513d9b94e76058a02ebfec 100644 (file)
@@ -32,7 +32,7 @@ static size_t elfcorebuf_sz;
 /* Total size of vmcore file. */
 static u64 vmcore_size;
 
-struct proc_dir_entry *proc_vmcore = NULL;
+static struct proc_dir_entry *proc_vmcore = NULL;
 
 /* Reads a page from the oldmem device from given offset. */
 static ssize_t read_from_oldmem(char *buf, size_t count,
@@ -162,7 +162,7 @@ static ssize_t read_vmcore(struct file *file, char __user *buffer,
        return acc;
 }
 
-const struct file_operations proc_vmcore_operations = {
+static const struct file_operations proc_vmcore_operations = {
        .read           = read_vmcore,
 };
 
@@ -652,7 +652,7 @@ static int __init vmcore_init(void)
                return rc;
        }
 
-       /* Initialize /proc/vmcore size if proc is already up. */
+       proc_vmcore = proc_create("vmcore", S_IRUSR, NULL, &proc_vmcore_operations);
        if (proc_vmcore)
                proc_vmcore->size = vmcore_size;
        return 0;
index 26d2b91209c5e9f701341865300b0a9cccf2a952..5637dcef314ec2c85ba65f98d8013d117486ed1b 100644 (file)
@@ -14,7 +14,7 @@ extern void (*mach_sched_init) (irq_handler_t handler);
 /* machine dependent irq functions */
 extern void (*mach_init_IRQ) (void);
 extern void (*mach_get_model) (char *model);
-extern int (*mach_get_hardware_list) (char *buffer);
+extern void (*mach_get_hardware_list) (struct seq_file *m);
 /* machine dependent timer functions */
 extern unsigned long (*mach_gettimeoffset)(void);
 extern int (*mach_hwclk)(int, struct rtc_time*);
index 0acf3b737e2ea179c30d9c9fa69076fbdf488a1c..2dac064d8359046c178f0d98bd9ea915ca369eaa 100644 (file)
@@ -14,8 +14,6 @@ extern unsigned long long elfcorehdr_addr;
 
 extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
                                                unsigned long, int);
-extern const struct file_operations proc_vmcore_operations;
-extern struct proc_dir_entry *proc_vmcore;
 
 /* Architecture code defines this if there are other possible ELF
  * machine types, e.g. on bi-arch capable hardware. */
index 43659ae52e4d22dec1d90e8db1f61a920414d5f6..5b248d61430c92de2db9df74b6825fefa30fb710 100644 (file)
@@ -1042,7 +1042,6 @@ extern int vfs_setlease(struct file *, long, struct file_lock **);
 extern int lease_modify(struct file_lock **, int);
 extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
 extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
-extern struct seq_operations locks_seq_operations;
 #else /* !CONFIG_FILE_LOCKING */
 #define fcntl_getlk(a, b) ({ -EINVAL; })
 #define fcntl_setlk(a, b, c, d) ({ -EACCES; })
index 206cdf96c3a751fb926750fcd29c5cf828464392..e439e6aed832f3fc98b3a7944521f108e5740fbb 100644 (file)
@@ -25,9 +25,6 @@ extern struct device_type part_type;
 extern struct kobject *block_depr;
 extern struct class block_class;
 
-extern const struct seq_operations partitions_op;
-extern const struct seq_operations diskstats_op;
-
 enum {
 /* These three have identical behaviour; use the second one if DOS FDISK gets
    confused about extended/logical partitions starting past cylinder 1023. */
index 32e0ef0f6e1fcdd7f67d83ffe985e6cbe8eb9a08..e1c8afc002c0c6957f4e752f09b35dd72b67aea0 100644 (file)
@@ -27,7 +27,7 @@ void unmap_hugepage_range(struct vm_area_struct *,
 void __unmap_hugepage_range(struct vm_area_struct *,
                        unsigned long, unsigned long, struct page *);
 int hugetlb_prefault(struct address_space *, struct vm_area_struct *);
-int hugetlb_report_meminfo(char *);
+void hugetlb_report_meminfo(struct seq_file *);
 int hugetlb_report_node_meminfo(int, char *);
 unsigned long hugetlb_total_pages(void);
 int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -79,7 +79,9 @@ static inline unsigned long hugetlb_total_pages(void)
 #define copy_hugetlb_page_range(src, dst, vma) ({ BUG(); 0; })
 #define hugetlb_prefault(mapping, vma)         ({ BUG(); 0; })
 #define unmap_hugepage_range(vma, start, end, page)    BUG()
-#define hugetlb_report_meminfo(buf)            0
+static inline void hugetlb_report_meminfo(struct seq_file *m)
+{
+}
 #define hugetlb_report_node_meminfo(n, buf)    0
 #define follow_huge_pmd(mm, addr, pmd, write)  NULL
 #define follow_huge_pud(mm, addr, pud, write)  NULL
index 27d534f4470d2350cc7cd563e813e5b88ba25c37..b8bdb96eff78b8112ddf4717b651c4ef1126ead7 100644 (file)
@@ -97,12 +97,9 @@ struct vmcore {
 
 #ifdef CONFIG_PROC_FS
 
-extern struct proc_dir_entry *proc_root_kcore;
-
 extern spinlock_t proc_subdir_lock;
 
 extern void proc_root_init(void);
-extern void proc_misc_init(void);
 
 void proc_flush_task(struct task_struct *task);
 struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct nameidata *);
@@ -138,8 +135,6 @@ extern struct inode *proc_get_inode(struct super_block *, unsigned int, struct p
 extern int proc_readdir(struct file *, void *, filldir_t);
 extern struct dentry *proc_lookup(struct inode *, struct dentry *, struct nameidata *);
 
-extern const struct file_operations proc_kcore_operations;
-
 extern int pid_ns_prepare_proc(struct pid_namespace *ns);
 extern void pid_ns_release_proc(struct pid_namespace *ns);
 
index 5ca620573d47c35c707b115cdb44ca2fb243d519..8478f334d73293473199f6d97a6cc8aabb2d7521 100644 (file)
@@ -680,10 +680,6 @@ struct sched_info {
 };
 #endif /* defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) */
 
-#ifdef CONFIG_SCHEDSTATS
-extern const struct file_operations proc_schedstat_operations;
-#endif /* CONFIG_SCHEDSTATS */
-
 #ifdef CONFIG_TASK_DELAY_ACCT
 struct task_delay_info {
        spinlock_t      lock;
index 5ff9676c1e2ca83e93511891230189772fafe2a0..ba965c84ae0695b175da712a0951b6c3e0530b5c 100644 (file)
@@ -288,9 +288,4 @@ static inline void *kzalloc_node(size_t size, gfp_t flags, int node)
        return kmalloc_node(size, flags | __GFP_ZERO, node);
 }
 
-#ifdef CONFIG_SLABINFO
-extern const struct seq_operations slabinfo_op;
-ssize_t slabinfo_write(struct file *, const char __user *, size_t, loff_t *);
-#endif
-
 #endif /* _LINUX_SLAB_H */
index 4c28c4d564e2da1e5e6112e0e5081d4f08ebd942..307b88577eaa475274598fd9f2c07cc86ad22cb7 100644 (file)
@@ -103,6 +103,4 @@ extern void free_vm_area(struct vm_struct *area);
 extern rwlock_t vmlist_lock;
 extern struct vm_struct *vmlist;
 
-extern const struct seq_operations vmalloc_op;
-
 #endif /* _LINUX_VMALLOC_H */
index 9cd3ab0f554d301224f518391b47fdd1752fc33d..524cd1b28ecb0ff62a9d3620f9d21d48f8c1e32e 100644 (file)
@@ -54,10 +54,6 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
                NR_VM_EVENT_ITEMS
 };
 
-extern const struct seq_operations fragmentation_op;
-extern const struct seq_operations pagetypeinfo_op;
-extern const struct seq_operations zoneinfo_op;
-extern const struct seq_operations vmstat_op;
 extern int sysctl_stat_interval;
 
 #ifdef CONFIG_VM_EVENT_COUNTERS
index 0d407e886735d0b35c36a836f3bc97afa15ad9c6..0511716e94247a86873bb095e1136d45aa362c2c 100644 (file)
@@ -12,7 +12,9 @@
 #include <linux/kmod.h>
 #include <linux/module.h>
 #include <linux/personality.h>
+#include <linux/proc_fs.h>
 #include <linux/sched.h>
+#include <linux/seq_file.h>
 #include <linux/syscalls.h>
 #include <linux/sysctl.h>
 #include <linux/types.h>
@@ -173,20 +175,39 @@ __set_personality(u_long personality)
        return 0;
 }
 
-int
-get_exec_domain_list(char *page)
+#ifdef CONFIG_PROC_FS
+static int execdomains_proc_show(struct seq_file *m, void *v)
 {
        struct exec_domain      *ep;
-       int                     len = 0;
 
        read_lock(&exec_domains_lock);
-       for (ep = exec_domains; ep && len < PAGE_SIZE - 80; ep = ep->next)
-               len += sprintf(page + len, "%d-%d\t%-16s\t[%s]\n",
+       for (ep = exec_domains; ep; ep = ep->next)
+               seq_printf(m, "%d-%d\t%-16s\t[%s]\n",
                               ep->pers_low, ep->pers_high, ep->name,
                               module_name(ep->module));
        read_unlock(&exec_domains_lock);
-       return (len);
+       return 0;
+}
+
+static int execdomains_proc_open(struct inode *inode, struct file *file)
+{
+       return single_open(file, execdomains_proc_show, NULL);
+}
+
+static const struct file_operations execdomains_proc_fops = {
+       .open           = execdomains_proc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = single_release,
+};
+
+static int __init proc_execdomains_init(void)
+{
+       proc_create("execdomains", 0, NULL, &execdomains_proc_fops);
+       return 0;
 }
+module_init(proc_execdomains_init);
+#endif
 
 asmlinkage long
 sys_personality(u_long personality)
index c0f1826e2d9e1cc3094060411f44b4178d9f38b5..1f4cc00e0c200b7c69272694d121558fd6a10d06 100644 (file)
 #include <linux/moduleloader.h>
 #include <linux/init.h>
 #include <linux/kallsyms.h>
+#include <linux/fs.h>
 #include <linux/sysfs.h>
 #include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
 #include <linux/elf.h>
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/syscalls.h>
 #include <linux/fcntl.h>
@@ -2556,23 +2558,6 @@ unsigned long module_kallsyms_lookup_name(const char *name)
 }
 #endif /* CONFIG_KALLSYMS */
 
-/* Called by the /proc file system to return a list of modules. */
-static void *m_start(struct seq_file *m, loff_t *pos)
-{
-       mutex_lock(&module_mutex);
-       return seq_list_start(&modules, *pos);
-}
-
-static void *m_next(struct seq_file *m, void *p, loff_t *pos)
-{
-       return seq_list_next(p, &modules, pos);
-}
-
-static void m_stop(struct seq_file *m, void *p)
-{
-       mutex_unlock(&module_mutex);
-}
-
 static char *module_flags(struct module *mod, char *buf)
 {
        int bx = 0;
@@ -2606,6 +2591,24 @@ static char *module_flags(struct module *mod, char *buf)
        return buf;
 }
 
+#ifdef CONFIG_PROC_FS
+/* Called by the /proc file system to return a list of modules. */
+static void *m_start(struct seq_file *m, loff_t *pos)
+{
+       mutex_lock(&module_mutex);
+       return seq_list_start(&modules, *pos);
+}
+
+static void *m_next(struct seq_file *m, void *p, loff_t *pos)
+{
+       return seq_list_next(p, &modules, pos);
+}
+
+static void m_stop(struct seq_file *m, void *p)
+{
+       mutex_unlock(&module_mutex);
+}
+
 static int m_show(struct seq_file *m, void *p)
 {
        struct module *mod = list_entry(p, struct module, list);
@@ -2636,13 +2639,33 @@ static int m_show(struct seq_file *m, void *p)
    Where refcount is a number or -, and deps is a comma-separated list
    of depends or -.
 */
-const struct seq_operations modules_op = {
+static const struct seq_operations modules_op = {
        .start  = m_start,
        .next   = m_next,
        .stop   = m_stop,
        .show   = m_show
 };
 
+static int modules_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &modules_op);
+}
+
+static const struct file_operations proc_modules_operations = {
+       .open           = modules_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static int __init proc_modules_init(void)
+{
+       proc_create("modules", 0, NULL, &proc_modules_operations);
+       return 0;
+}
+module_init(proc_modules_init);
+#endif
+
 /* Given an address, look for it in the module exception tables. */
 const struct exception_table_entry *search_module_extables(unsigned long addr)
 {
index b077f1b045d3c6e33447a8c9568c8c7f5ced1fa2..a1e3025b19a9aed003967a0a9e2ff3d05456428b 100644 (file)
@@ -510,6 +510,7 @@ fail:
        return err;
 }
 
+#ifdef CONFIG_MODULES
 static void free_module_param_attrs(struct module_kobject *mk)
 {
        kfree(mk->mp->grp.attrs);
@@ -517,7 +518,6 @@ static void free_module_param_attrs(struct module_kobject *mk)
        mk->mp = NULL;
 }
 
-#ifdef CONFIG_MODULES
 /*
  * module_param_sysfs_setup - setup sysfs support for one module
  * @mod: module
index 1645c7211944b2c6fc23aeea9b890ddf85392289..6625c3c4b10d06c3f76c371becd615d174244902 100644 (file)
@@ -55,6 +55,7 @@
 #include <linux/cpuset.h>
 #include <linux/percpu.h>
 #include <linux/kthread.h>
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/sysctl.h>
 #include <linux/syscalls.h>
index 2df9d297d292d23fa46db931cdbd0cf9a41af2c0..ee71bec1da66a9dcb64d93a0e9934c15a155905b 100644 (file)
@@ -90,13 +90,20 @@ static int schedstat_open(struct inode *inode, struct file *file)
        return res;
 }
 
-const struct file_operations proc_schedstat_operations = {
+static const struct file_operations proc_schedstat_operations = {
        .open    = schedstat_open,
        .read    = seq_read,
        .llseek  = seq_lseek,
        .release = single_release,
 };
 
+static int __init proc_schedstat_init(void)
+{
+       proc_create("schedstat", 0, NULL, &proc_schedstat_operations);
+       return 0;
+}
+module_init(proc_schedstat_init);
+
 /*
  * Expects runqueue lock to be held for atomicity of update
  */
index 8347925030ff51a0a98d1a81cb5ae9c0b06413fa..ab431d4cc970d50f4b90b8f0639fcdea417e78a0 100644 (file)
@@ -23,7 +23,7 @@
 int string_get_size(u64 size, const enum string_size_units units,
                    char *buf, int len)
 {
-       const char *units_10[] = { "B", "KB", "MB", "GB", "TB", "PB",
+       const char *units_10[] = { "B", "kB", "MB", "GB", "TB", "PB",
                                   "EB", "ZB", "YB", NULL};
        const char *units_2[] = {"B", "KiB", "MiB", "GiB", "TiB", "PiB",
                                 "EiB", "ZiB", "YiB", NULL };
@@ -31,7 +31,7 @@ int string_get_size(u64 size, const enum string_size_units units,
                [STRING_UNITS_10] =  units_10,
                [STRING_UNITS_2] = units_2,
        };
-       const int divisor[] = {
+       const unsigned int divisor[] = {
                [STRING_UNITS_10] = 1000,
                [STRING_UNITS_2] = 1024,
        };
@@ -40,23 +40,27 @@ int string_get_size(u64 size, const enum string_size_units units,
        char tmp[8];
 
        tmp[0] = '\0';
+       i = 0;
+       if (size >= divisor[units]) {
+               while (size >= divisor[units] && units_str[units][i]) {
+                       remainder = do_div(size, divisor[units]);
+                       i++;
+               }
 
-       for (i = 0; size > divisor[units] && units_str[units][i]; i++)
-               remainder = do_div(size, divisor[units]);
+               sf_cap = size;
+               for (j = 0; sf_cap*10 < 1000; j++)
+                       sf_cap *= 10;
 
-       sf_cap = size;
-       for (j = 0; sf_cap*10 < 1000; j++)
-               sf_cap *= 10;
-
-       if (j) {
-               remainder *= 1000;
-               do_div(remainder, divisor[units]);
-               snprintf(tmp, sizeof(tmp), ".%03lld",
-                        (unsigned long long)remainder);
-               tmp[j+1] = '\0';
+               if (j) {
+                       remainder *= 1000;
+                       do_div(remainder, divisor[units]);
+                       snprintf(tmp, sizeof(tmp), ".%03lld",
+                                (unsigned long long)remainder);
+                       tmp[j+1] = '\0';
+               }
        }
 
-       snprintf(buf, len, "%lld%s%s", (unsigned long long)size,
+       snprintf(buf, len, "%lld%s %s", (unsigned long long)size,
                 tmp, units_str[units][i]);
 
        return 0;
index ce8cbb29860bd1b867454014195fe497332e2f61..421aee99b84a4da8120de8eaf1d9518fa57199c9 100644 (file)
@@ -7,6 +7,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/mm.h>
+#include <linux/seq_file.h>
 #include <linux/sysctl.h>
 #include <linux/highmem.h>
 #include <linux/mmu_notifier.h>
@@ -1455,10 +1456,10 @@ int hugetlb_overcommit_handler(struct ctl_table *table, int write,
 
 #endif /* CONFIG_SYSCTL */
 
-int hugetlb_report_meminfo(char *buf)
+void hugetlb_report_meminfo(struct seq_file *m)
 {
        struct hstate *h = &default_hstate;
-       return sprintf(buf,
+       seq_printf(m,
                        "HugePages_Total:   %5lu\n"
                        "HugePages_Free:    %5lu\n"
                        "HugePages_Rsvd:    %5lu\n"
index e76eee46688619bd65c110f934cab134dd698e27..09187517f9dc64804cc80453db0be0a72bcbf922 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -95,6 +95,7 @@
 #include       <linux/init.h>
 #include       <linux/compiler.h>
 #include       <linux/cpuset.h>
+#include       <linux/proc_fs.h>
 #include       <linux/seq_file.h>
 #include       <linux/notifier.h>
 #include       <linux/kallsyms.h>
@@ -4258,7 +4259,7 @@ static int s_show(struct seq_file *m, void *p)
  * + further values on SMP and with statistics enabled
  */
 
-const struct seq_operations slabinfo_op = {
+static const struct seq_operations slabinfo_op = {
        .start = s_start,
        .next = s_next,
        .stop = s_stop,
@@ -4315,6 +4316,19 @@ ssize_t slabinfo_write(struct file *file, const char __user * buffer,
        return res;
 }
 
+static int slabinfo_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &slabinfo_op);
+}
+
+static const struct file_operations proc_slabinfo_operations = {
+       .open           = slabinfo_open,
+       .read           = seq_read,
+       .write          = slabinfo_write,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
 #ifdef CONFIG_DEBUG_SLAB_LEAK
 
 static void *leaks_start(struct seq_file *m, loff_t *pos)
@@ -4443,13 +4457,47 @@ static int leaks_show(struct seq_file *m, void *p)
        return 0;
 }
 
-const struct seq_operations slabstats_op = {
+static const struct seq_operations slabstats_op = {
        .start = leaks_start,
        .next = s_next,
        .stop = s_stop,
        .show = leaks_show,
 };
+
+static int slabstats_open(struct inode *inode, struct file *file)
+{
+       unsigned long *n = kzalloc(PAGE_SIZE, GFP_KERNEL);
+       int ret = -ENOMEM;
+       if (n) {
+               ret = seq_open(file, &slabstats_op);
+               if (!ret) {
+                       struct seq_file *m = file->private_data;
+                       *n = PAGE_SIZE / (2 * sizeof(unsigned long));
+                       m->private = n;
+                       n = NULL;
+               }
+               kfree(n);
+       }
+       return ret;
+}
+
+static const struct file_operations proc_slabstats_operations = {
+       .open           = slabstats_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release_private,
+};
+#endif
+
+static int __init slab_proc_init(void)
+{
+       proc_create("slabinfo",S_IWUSR|S_IRUGO,NULL,&proc_slabinfo_operations);
+#ifdef CONFIG_DEBUG_SLAB_LEAK
+       proc_create("slab_allocators", 0, NULL, &proc_slabstats_operations);
 #endif
+       return 0;
+}
+module_init(slab_proc_init);
 #endif
 
 /**
index 0c83e6afe7b223757f1608268436c59648c3633d..7ad489af95614602a2f5fec8756460108a1f6be1 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -14,6 +14,7 @@
 #include <linux/interrupt.h>
 #include <linux/bitops.h>
 #include <linux/slab.h>
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/cpu.h>
 #include <linux/cpuset.h>
@@ -4417,14 +4418,6 @@ __initcall(slab_sysfs_init);
  * The /proc/slabinfo ABI
  */
 #ifdef CONFIG_SLABINFO
-
-ssize_t slabinfo_write(struct file *file, const char __user *buffer,
-                      size_t count, loff_t *ppos)
-{
-       return -EINVAL;
-}
-
-
 static void print_slabinfo_header(struct seq_file *m)
 {
        seq_puts(m, "slabinfo - version: 2.1\n");
@@ -4492,11 +4485,29 @@ static int s_show(struct seq_file *m, void *p)
        return 0;
 }
 
-const struct seq_operations slabinfo_op = {
+static const struct seq_operations slabinfo_op = {
        .start = s_start,
        .next = s_next,
        .stop = s_stop,
        .show = s_show,
 };
 
+static int slabinfo_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &slabinfo_op);
+}
+
+static const struct file_operations proc_slabinfo_operations = {
+       .open           = slabinfo_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static int __init slab_proc_init(void)
+{
+       proc_create("slabinfo",S_IWUSR|S_IRUGO,NULL,&proc_slabinfo_operations);
+       return 0;
+}
+module_init(slab_proc_init);
 #endif /* CONFIG_SLABINFO */
index 65ae576030da559356c30199cecb2fb6fbe19b0e..036536945dd9e06f53adf21c165f087a4700c3cc 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/interrupt.h>
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/debugobjects.h>
 #include <linux/kallsyms.h>
@@ -1718,11 +1719,41 @@ static int s_show(struct seq_file *m, void *p)
        return 0;
 }
 
-const struct seq_operations vmalloc_op = {
+static const struct seq_operations vmalloc_op = {
        .start = s_start,
        .next = s_next,
        .stop = s_stop,
        .show = s_show,
 };
+
+static int vmalloc_open(struct inode *inode, struct file *file)
+{
+       unsigned int *ptr = NULL;
+       int ret;
+
+       if (NUMA_BUILD)
+               ptr = kmalloc(nr_node_ids * sizeof(unsigned int), GFP_KERNEL);
+       ret = seq_open(file, &vmalloc_op);
+       if (!ret) {
+               struct seq_file *m = file->private_data;
+               m->private = ptr;
+       } else
+               kfree(ptr);
+       return ret;
+}
+
+static const struct file_operations proc_vmalloc_operations = {
+       .open           = vmalloc_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release_private,
+};
+
+static int __init proc_vmalloc_init(void)
+{
+       proc_create("vmallocinfo", S_IRUSR, NULL, &proc_vmalloc_operations);
+       return 0;
+}
+module_init(proc_vmalloc_init);
 #endif
 
index 9343227c5c60b6dc3a1b7e09c64143a53a407003..c3ccfda23adc56abafb58abbcc31b33c5588ce4d 100644 (file)
@@ -8,7 +8,7 @@
  *  Copyright (C) 2006 Silicon Graphics, Inc.,
  *             Christoph Lameter <christoph@lameter.com>
  */
-
+#include <linux/fs.h>
 #include <linux/mm.h>
 #include <linux/err.h>
 #include <linux/module.h>
@@ -384,7 +384,7 @@ void zone_statistics(struct zone *preferred_zone, struct zone *z)
 #endif
 
 #ifdef CONFIG_PROC_FS
-
+#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 
 static char * const migratetype_names[MIGRATE_TYPES] = {
@@ -581,20 +581,44 @@ static int pagetypeinfo_show(struct seq_file *m, void *arg)
        return 0;
 }
 
-const struct seq_operations fragmentation_op = {
+static const struct seq_operations fragmentation_op = {
        .start  = frag_start,
        .next   = frag_next,
        .stop   = frag_stop,
        .show   = frag_show,
 };
 
-const struct seq_operations pagetypeinfo_op = {
+static int fragmentation_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &fragmentation_op);
+}
+
+static const struct file_operations fragmentation_file_operations = {
+       .open           = fragmentation_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
+static const struct seq_operations pagetypeinfo_op = {
        .start  = frag_start,
        .next   = frag_next,
        .stop   = frag_stop,
        .show   = pagetypeinfo_show,
 };
 
+static int pagetypeinfo_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &pagetypeinfo_op);
+}
+
+static const struct file_operations pagetypeinfo_file_ops = {
+       .open           = pagetypeinfo_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
 #ifdef CONFIG_ZONE_DMA
 #define TEXT_FOR_DMA(xx) xx "_dma",
 #else
@@ -771,7 +795,7 @@ static int zoneinfo_show(struct seq_file *m, void *arg)
        return 0;
 }
 
-const struct seq_operations zoneinfo_op = {
+static const struct seq_operations zoneinfo_op = {
        .start  = frag_start, /* iterate over all zones. The same as in
                               * fragmentation. */
        .next   = frag_next,
@@ -779,6 +803,18 @@ const struct seq_operations zoneinfo_op = {
        .show   = zoneinfo_show,
 };
 
+static int zoneinfo_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &zoneinfo_op);
+}
+
+static const struct file_operations proc_zoneinfo_file_operations = {
+       .open           = zoneinfo_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+
 static void *vmstat_start(struct seq_file *m, loff_t *pos)
 {
        unsigned long *v;
@@ -834,13 +870,24 @@ static void vmstat_stop(struct seq_file *m, void *arg)
        m->private = NULL;
 }
 
-const struct seq_operations vmstat_op = {
+static const struct seq_operations vmstat_op = {
        .start  = vmstat_start,
        .next   = vmstat_next,
        .stop   = vmstat_stop,
        .show   = vmstat_show,
 };
 
+static int vmstat_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &vmstat_op);
+}
+
+static const struct file_operations proc_vmstat_file_operations = {
+       .open           = vmstat_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
 #endif /* CONFIG_PROC_FS */
 
 #ifdef CONFIG_SMP
@@ -898,9 +945,11 @@ static int __cpuinit vmstat_cpuup_callback(struct notifier_block *nfb,
 
 static struct notifier_block __cpuinitdata vmstat_notifier =
        { &vmstat_cpuup_callback, NULL, 0 };
+#endif
 
 static int __init setup_vmstat(void)
 {
+#ifdef CONFIG_SMP
        int cpu;
 
        refresh_zone_stat_thresholds();
@@ -908,7 +957,13 @@ static int __init setup_vmstat(void)
 
        for_each_online_cpu(cpu)
                start_cpu_timer(cpu);
+#endif
+#ifdef CONFIG_PROC_FS
+       proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations);
+       proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops);
+       proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations);
+       proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations);
+#endif
        return 0;
 }
 module_init(setup_vmstat)
-#endif