zorroutils-0.04+20021014.orig/0000755000252700014400000000000010317062245015647 5ustar velaDebian00000000000000zorroutils-0.04+20021014.orig/Makefile0000644000252700014400000000156007145236217017320 0ustar velaDebian00000000000000# $Id: Makefile,v 1.4 2000/08/12 12:01:19 geert Exp $ # Makefile for Linux Zorro Utilities # Copyright (C) 1998--2000 Geert Uytterhoeven CC=gcc OPT=-O3 -fomit-frame-pointer CFLAGS=$(OPT) -Wall ROOT=/ PREFIX=/usr all: lszorro lszorro: lszorro.o names.o filter.o lszorro.o: lszorro.c zorroutils.h zorro.h names.o: names.c zorroutils.h filter.o: filter.c zorroutils.h clean: rm -f `find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core` rm -f lszorro install: all install -o root -g root -m 755 -s lszorro $(ROOT)/sbin install -o root -g root -m 644 zorro.ids $(PREFIX)/share install -o root -g root -m 644 lszorro.8 $(PREFIX)/man/man8 # Remove relics from old versions rm -f $(ROOT)/etc/zorro.ids dist: clean sh -c 'X=`pwd` ; X=`basename $$X` ; cd .. ; tar czvvf /tmp/$$X.tar.gz $$X --exclude CVS --exclude tmp' zorroutils-0.04+20021014.orig/README0000644000252700014400000000222007164710766016541 0ustar velaDebian00000000000000This package contains the Linux Zorro Utilities, version 0.04. Copyright (C) 1998--2000 Geert Uytterhoeven This package is heavily based on the Linux PCI Utilities, which are Copyright (C) 1998--2000 Martin Mares All files in this package can be freely distributed and used according to the terms of the GNU General Public License, either version 2 or (at your opinion) any newer version. This is the same distribution policy as for the Linux kernel itself -- see /usr/src/linux/COPYING for details. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Linux Zorro Utilities contain a utility for dealing with the Zorro bus in Linux: - lszorro: displays detailed information about all Zorro devices in the system, replacing the original /proc/zorro interface. See manual pages for more details. If you have any bug reports or suggestions, send them to the author. Many IDs were obtained from ExpName/Identify ((C) Richard Körber) and by looking at the NetBSD-Amiga kernel sources. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ zorroutils-0.04+20021014.orig/filter.c0000644000252700014400000000351207145236217017310 0ustar velaDebian00000000000000/* * $Id: filter.c,v 1.2 2000/08/12 12:01:19 geert Exp $ * * Linux Zorro Utilities -- Device Filtering * * Copyright (C) 1998--2000 Geert Uytterhoeven * * Can be freely distributed and used under the terms of the GNU GPL. */ #include #include #include #include "zorroutils.h" void filter_init(struct zorro_filter *f) { f->slot = -1; f->manuf = f->prod = f->epc = -1; } /* Slot filter syntax: [slot] */ char * filter_parse_slot(struct zorro_filter *f, char *str) { char *e; if (str[0] && strcmp(str, "*")) { long int x = strtol(str, &e, 16); if ((e && *e) || (x < 0 || x >= 0xff)) return "Invalid slot number"; f->slot = x; } return NULL; } /* ID filter syntax: [manuf]:[prod]:[epc] */ char * filter_parse_id(struct zorro_filter *f, char *str) { char *s1, *s2, *e; if (!*str) return NULL; s1 = strchr(str, ':'); if (!s1) return "':' expected"; *s1++ = 0; s2 = strchr(s1, ':'); if (s2) *s2++ = 0; if (str[0] && strcmp(str, "*")) { long int x = strtol(str, &e, 16); if ((e && *e) || (x < 0 || x >= 0xffff)) return "Invalid manufacturer ID"; f->manuf = x; } if (s1[0] && strcmp(s1, "*")) { long int x = strtol(s1, &e, 16); if ((e && *e) || (x < 0 || x >= 0xff)) return "Invalid product ID"; f->prod = x; } if (s2 && s2[0] && strcmp(s2, "*")) { long int x = strtol(s2, &e, 16); if ((e && *e) || (x < 0 || x >= 0xff)) return "Invalid extended product ID"; f->epc = x; } return NULL; } int filter_match(struct zorro_filter *f, byte slot, word manuf, byte prod, byte epc) { if ((f->slot >= 0 && f->slot != slot) || (f->manuf >= 0 && f->manuf != manuf) || (f->prod >= 0 && f->prod != prod) || (f->epc >= 0 && f->epc != epc)) return 0; return 1; } zorroutils-0.04+20021014.orig/lszorro.80000644000252700014400000000435507164710766017477 0ustar velaDebian00000000000000.TH lszorro 8 "28 September 2000" "zorroutils-0.04" "Linux Zorro Utilities" .IX lszorro .SH NAME lszorro \- list all Zorro devices .SH SYNOPSIS .B lszorro .RB [ options ] .SH DESCRIPTION .B lszorro is a utility for displaying information about devices connected to the Zorro bus. It requires Linux kernel 2.1.106 or newer and supersedes the original /proc/zorro interface found in earlier kernels. If you are going to report bugs in Zorro device drivers or in .I lszorro itself, please include output of "lszorro -vvx". .SH OPTIONS .TP .B -v Tells .I lszorro to be verbose and display detailed information about all devices. .TP .B -vv Tells .I lszorro to be very verbose and display even more information (actually everything the Zorro device is able to tell). The exact meaning of these data is not explained in this manual page, if you want to know more, consult .B /usr/include/linux/zorro.h or the Zorro specs. .TP .B -n Show Zorro manufacturer and (extended) product codes as numbers instead of looking them up in the Zorro ID database. .TP .B -x Show hexadecimal dump of the Zorro configuration space (struct ConfigDev). Useful for debugging of drivers and .I lszorro itself. .TP .B -s [] Show only the device in the specified slot. The number is hexadecimal. .TP .B -d []:[]:[] Show only devices with specified manufacturer, product and extended product IDs. All IDs are given in hexadecimal and may be omitted or given as "*" meaning "any value". The extended product code (epc) is used for some GVP boards only. .TP .B -i Use .B as Zorro ID database instead of /usr/share/zorro.ids. .TP .B -p Use .B as directory containing Zorro bus information instead of /proc/bus/zorro. .TP .B -m Dump Zorro device data in machine readable form (both normal and verbose format supported) for easy parsing by scripts. .SH FILES .TP .B /usr/share/zorro.ids A list of all known Zorro IDs (manufacturers, products and extended product codes). .TP .B /proc/bus/zorro An interface to Zorro bus configuration space provided by the kernel. Contains per-card config space files and a .I devices file containing a list of all Zorro devices. .SH AUTHOR The Linux Zorro Utilities are maintained by Geert Uytterhoeven . zorroutils-0.04+20021014.orig/lszorro.c0000644000252700014400000001640307145236217017540 0ustar velaDebian00000000000000/* * $Id: lszorro.c,v 1.4 2000/08/12 12:01:19 geert Exp $ * * Linux Zorro Utilities -- List All Zorro Devices * * Copyright (C) 1998--2000 Geert Uytterhoeven * * Can be freely distributed and used under the terms of the GNU GPL. */ #include #include #include #include #include #include "zorroutils.h" #include "zorro.h" /* Options */ static int verbose; /* Show detailed information */ static int show_hex; /* Show contents of config space as hexadecimal numbers */ static struct zorro_filter filter; /* Device filter */ static int machine_readable; /* Generate machine-readable output */ static char *zorro_dir = PROC_BUS_ZORRO; static char options[] = "nvxs:d:i:p:m"; static char help_msg[] = "\ Usage: lszorro []\n\ \n\ -v\t\tBe verbose\n\ -n\t\tShow numeric IDs\n\ -x\t\tShow hex-dump of config space\n\ -s []\tShow only device in selected slot\n\ -d []:[]:[]\tShow only selected devices\n\ -m\t\tProduce machine-readable output\n\ -i \tUse specified ID database instead of " ZORRO_ID_DB "\n\ -p \tUse specified bus directory instead of " PROC_BUS_ZORRO "\n\ "; /* Our view of the Zorro bus */ struct device { struct device *next; byte slot; word manuf; byte prod, epc; u32 boardaddr; u32 boardsize; byte boardtype; union { struct ConfigDev cd; byte raw[0]; } config; }; #define cd config.cd #define raw config.raw static struct device *first_dev, **last_dev = &first_dev; /* Miscellaneous routines */ void * xmalloc(unsigned int howmuch) { void *p = malloc(howmuch); if (!p) { fprintf(stderr, "lszorro: Unable to allocate %d bytes of memory\n", howmuch); exit(1); } return p; } /* Interface for /proc/bus/zorro */ static void scan_dev_list(void) { FILE *f; byte line[256]; byte name[256]; sprintf(name, "%s/devices", zorro_dir); if (! (f = fopen(name, "r"))) { perror(name); exit(1); } while (fgets(line, sizeof(line), f)) { struct device *d = xmalloc(sizeof(struct device)); unsigned int slot, vend, type; bzero(d, sizeof(*d)); sscanf(line, "%x %x %x %x %x", &slot, &vend, &d->boardaddr, &d->boardsize, &type); d->slot = slot; d->manuf = ZORRO_MANUF(vend); d->prod = ZORRO_PROD(vend); d->epc = ZORRO_EPC(vend); d->boardtype = type; if (filter_match(&filter, d->slot, d->manuf, d->prod, d->epc)) { *last_dev = d; last_dev = &d->next; d->next = NULL; } } fclose(f); } static inline void make_proc_zorro_name(struct device *d, char *p) { sprintf(p, "%s/%02x", zorro_dir, d->slot); } static void scan_config(void) { struct device *d; char name[64]; int fd, res; int how_much = sizeof(struct ConfigDev); for(d=first_dev; d; d=d->next) { make_proc_zorro_name(d, name); if ((fd = open(name, O_RDONLY)) < 0) { fprintf(stderr, "lszorro: Unable to open %s: %m\n", name); exit(1); } res = read(fd, d->raw, how_much); if (res < 0) { fprintf(stderr, "lszorro: Error reading %s: %m\n", name); exit(1); } if (res != how_much) { fprintf(stderr, "lszorro: Only %d bytes of config space available to you\n", res); exit(1); } close(fd); } } static void scan_proc(void) { scan_dev_list(); scan_config(); } /* Config space accesses */ static inline byte get_conf_byte(struct device *d, unsigned int pos) { return d->raw[pos]; } /* Sorting */ static int compare_them(const void *A, const void *B) { const struct device *a = *(const struct device **)A; const struct device *b = *(const struct device **)B; if (a->slot < b->slot) return -1; if (a->slot > b->slot) return 1; return 0; } static void sort_them(void) { struct device **index, **h; int cnt; struct device *d; cnt = 0; for(d=first_dev; d; d=d->next) cnt++; h = index = alloca(sizeof(struct device *) * cnt); for(d=first_dev; d; d=d->next) *h++ = d; qsort(index, cnt, sizeof(struct device *), compare_them); last_dev = &first_dev; h = index; while (cnt--) { *last_dev = *h; last_dev = &(*h)->next; h++; } *last_dev = NULL; } /* Normal output */ static void show_terse(struct device *d) { printf("%02x: %s\n", d->slot, lookup_device_full(d->manuf, d->prod, d->epc)); } static void show_bases(struct device *d) { if (verbose > 1) printf("\tAddress: %08x (%08x bytes)\n", d->boardaddr, d->boardsize); else { u32 size = d->boardsize; char mag; if (size & 0xfffff) { size >>= 10; mag = 'K'; } else { size >>= 20; mag = 'M'; } printf("\t%08x (%d%c)\n", d->boardaddr, size, mag); } } static void show_verbose(struct device *d) { show_terse(d); if (verbose > 1) { const char *zorro; switch (d->boardtype & ERT_TYPEMASK) { case ERT_ZORROII: zorro = "Zorro II"; break; case ERT_ZORROIII: zorro = "Zorro III"; break; default: zorro = "Unknown Zorro"; break; } printf("\tType: %s", zorro); if (d->boardtype & ERTF_MEMLIST) printf(" memory"); putchar('\n'); } show_bases(d); if (verbose > 1) { printf("\tSerial number: %08x\n", d->cd.cd_Rom.er_SerialNumber); printf("\tSlot address: %04x\n", d->cd.cd_SlotAddr); printf("\tSlot size: %04x\n", d->cd.cd_SlotSize); } } static void show_hex_dump(struct device *d) { int i; int limit = sizeof(struct ConfigDev); for(i=0; islot); printf("Vendor:\t%s\n", lookup_vendor(d->manuf)); printf("Device:\t%s\n", lookup_device(d->manuf, d->prod, d->epc)); } else { printf("%02x: \"%s\" \"%s\"\n", d->slot, lookup_vendor(d->manuf), lookup_device(d->manuf, d->prod, d->epc)); putchar('\n'); } } static void show(void) { struct device *d; for(d=first_dev; d; d=d->next) { if (machine_readable) show_machine(d); else if (verbose) show_verbose(d); else show_terse(d); if (show_hex) show_hex_dump(d); if (verbose || show_hex) putchar('\n'); } } /* Main */ int main(int argc, char **argv) { int i; char *msg; if (argc == 2 && !strcmp(argv[1], "--version")) { puts("lszorro version " ZORROUTILS_VERSION); return 0; } filter_init(&filter); while ((i = getopt(argc, argv, options)) != -1) switch (i) { case 'n': show_numeric_ids = 1; break; case 'v': verbose++; break; case 's': if ((msg = filter_parse_slot(&filter, optarg))) { fprintf(stderr, "lszorro: -f: %s\n", msg); return 1; } break; case 'd': if ((msg = filter_parse_id(&filter, optarg))) { fprintf(stderr, "lszorro: -d: %s\n", msg); return 1; } break; case 'x': show_hex++; break; case 'i': zorro_ids = optarg; break; case 'p': zorro_dir = optarg; break; case 'm': machine_readable++; break; default: bad: fprintf(stderr, help_msg); return 1; } if (optind < argc) goto bad; scan_proc(); sort_them(); show(); return 0; } zorroutils-0.04+20021014.orig/names.c0000644000252700014400000001030407145236217017123 0ustar velaDebian00000000000000/* * $Id: names.c,v 1.3 2000/08/12 12:01:19 geert Exp $ * * Linux Zorro Utilities -- Device ID to Name Translation * * Copyright (C) 1998--2000 Geert Uytterhoeven * * Can be freely distributed and used under the terms of the GNU GPL. */ #include #include #include #include #include #include #include "zorroutils.h" int show_numeric_ids; char *zorro_ids = ZORRO_ID_DB; static byte *name_list; static int name_list_loaded; struct nl_entry { struct nl_entry *next; int id1, id2; byte *name; }; #define ID1_VENDOR -1 #define ID1_ERROR -2 #define HASH_SIZE 1024 static struct nl_entry *nl_hash[HASH_SIZE]; static inline unsigned int nl_calc_hash(int id1, int id2) { unsigned int h; h = id1 ^ id2; h ^= (h >> 6); return h & (HASH_SIZE-1); } static struct nl_entry *nl_lookup(int id1, int id2) { unsigned int h = nl_calc_hash(id1, id2); struct nl_entry *n = nl_hash[h]; while (n && (n->id1 != id1 || n->id2 != id2)) n = n->next; return n; } static int nl_add(int id1, int id2, byte *text) { unsigned int h = nl_calc_hash(id1, id2); struct nl_entry *n = nl_hash[h]; while (n && (n->id1 != id1 || n->id2 != id2)) n = n->next; if (n) return 1; n = xmalloc(sizeof(struct nl_entry)); n->id1 = id1; n->id2 = id2; n->name = text; n->next = nl_hash[h]; nl_hash[h] = n; return 0; } static void err_name_list(char *msg) { fprintf(stderr, "%s: %s: %m\n", zorro_ids, msg); exit(1); } static void parse_name_list(void) { byte *p = name_list; byte *q, *r; int lino = 0; int id1 = ID1_ERROR; int id2 = 0; int i, j; while (*p) { lino++; q = p; while (*p && *p != '\n') { if (*p == '#') { *p++ = 0; while (*p && *p != '\n') p++; break; } if (*p == '\t') *p = ' '; p++; } if (*p == '\n') *p++ = 0; if (!*q) continue; r = p; while (r > q && r[-1] == ' ') *--r = 0; r = q; while (*q == ' ') q++; if (strlen(q) < 5 || q[4] != ' ') goto parserr; if (r == q) { if (sscanf(q, "%x", &j) != 1) goto parserr; i = ID1_VENDOR; id1 = i; id2 = j; } else { if (sscanf(q, "%x", &j) != 1) goto parserr; if (id1 == ID1_ERROR) goto parserr; i = id2; } q += 4; while (*q == ' ') q++; if (!*q) goto parserr; if (nl_add(i, j, q)) { fprintf(stderr, "%s, line %d: duplicate entry\n", zorro_ids, lino); exit(1); } } return; parserr: fprintf(stderr, "%s, line %d: parse error\n", zorro_ids, lino); exit(1); } static void load_name_list(void) { int fd; struct stat st; fd = open(zorro_ids, O_RDONLY); if (fd < 0) { show_numeric_ids = 1; return; } if (fstat(fd, &st) < 0) err_name_list("stat"); name_list = xmalloc(st.st_size + 1); if (read(fd, name_list, st.st_size) != st.st_size) err_name_list("read"); name_list[st.st_size] = 0; parse_name_list(); close(fd); name_list_loaded = 1; } char * lookup_vendor(word i) { static char vendbuf[6]; if (!show_numeric_ids && !name_list_loaded) load_name_list(); if (!show_numeric_ids) { struct nl_entry *e; e = nl_lookup(ID1_VENDOR, i); if (e) return e->name; } sprintf(vendbuf, "%04x", i); return vendbuf; } char * lookup_device(word v, byte i, byte j) { static char devbuf[6]; if (!show_numeric_ids && !name_list_loaded) load_name_list(); if (!show_numeric_ids) { struct nl_entry *e; e = nl_lookup(v, (i<<8) | j); if (e) return e->name; } sprintf(devbuf, "%02x:%02x", i, j); return devbuf; } char * lookup_device_full(word v, byte i, byte j) { static char fullbuf[256]; if (!show_numeric_ids && !name_list_loaded) load_name_list(); if (!show_numeric_ids) { struct nl_entry *e, *e2; e = nl_lookup(ID1_VENDOR, v); e2 = nl_lookup(v, (i<<8) | j); if (!e) sprintf(fullbuf, "Unknown device %04x:%02x:%02x", v, i, j); else if (!e2) sprintf(fullbuf, "%s: Unknown device %02x:%02x", e->name, i, j); else sprintf(fullbuf, "%s %s", e->name, e2->name); } else sprintf(fullbuf, "%04x:%02x:%02x", v, i, j); return fullbuf; } zorroutils-0.04+20021014.orig/zorro.h0000644000252700014400000000511107145236217017200 0ustar velaDebian00000000000000/* * Amiga AutoConfig (Zorro) Bus Definitions (extracted from ) * * Copyright (C) 1995--2000 Geert Uytterhoeven * * This file is subject to the terms and conditions of the GNU General Public * License. See the file COPYING in the main directory of this archive * for more details. */ /* * Each Zorro board has a 32-bit ID of the form * * mmmmmmmmmmmmmmmmppppppppeeeeeeee * * with * * mmmmmmmmmmmmmmmm 16-bit Manufacturer ID (assigned by CBM (sigh)) * pppppppp 8-bit Product ID (assigned by manufacturer) * eeeeeeee 8-bit Extended Product ID (currently only used * for some GVP boards) */ #define ZORRO_MANUF(id) ((id) >> 16) #define ZORRO_PROD(id) (((id) >> 8) & 0xff) #define ZORRO_EPC(id) ((id) & 0xff) struct Node { struct Node *ln_Succ; /* Pointer to next (successor) */ struct Node *ln_Pred; /* Pointer to previous (predecessor) */ __u8 ln_Type; __s8 ln_Pri; /* Priority, for sorting */ __s8 *ln_Name; /* ID string, null terminated */ } __attribute__ ((packed)); struct ExpansionRom { /* -First 16 bytes of the expansion ROM */ __u8 er_Type; /* Board type, size and flags */ __u8 er_Product; /* Product number, assigned by manufacturer */ __u8 er_Flags; /* Flags */ __u8 er_Reserved03; /* Must be zero ($ff inverted) */ __u16 er_Manufacturer; /* Unique ID, ASSIGNED BY COMMODORE-AMIGA! */ __u32 er_SerialNumber; /* Available for use by manufacturer */ __u16 er_InitDiagVec; /* Offset to optional "DiagArea" structure */ __u8 er_Reserved0c; __u8 er_Reserved0d; __u8 er_Reserved0e; __u8 er_Reserved0f; } __attribute__ ((packed)); /* er_Type board type bits */ #define ERT_TYPEMASK 0xc0 #define ERT_ZORROII 0xc0 #define ERT_ZORROIII 0x80 /* other bits defined in er_Type */ #define ERTB_MEMLIST 5 /* Link RAM into free memory list */ #define ERTF_MEMLIST (1<<5) struct ConfigDev { struct Node cd_Node; __u8 cd_Flags; /* (read/write) */ __u8 cd_Pad; /* reserved */ struct ExpansionRom cd_Rom; /* copy of board's expansion ROM */ void *cd_BoardAddr; /* where in memory the board was placed */ __u32 cd_BoardSize; /* size of board in bytes */ __u16 cd_SlotAddr; /* which slot number (PRIVATE) */ __u16 cd_SlotSize; /* number of slots (PRIVATE) */ void *cd_Driver; /* pointer to node of driver */ struct ConfigDev *cd_NextCD; /* linked list of drivers to config */ __u32 cd_Unused[4]; /* for whatever the driver wants */ } __attribute__ ((packed)); zorroutils-0.04+20021014.orig/zorro.ids0000644000252700014400000003624207552540752017545 0ustar velaDebian00000000000000# # List of Zorro IDs # # Maintained by Geert Uytterhoeven # If you have any new entries, please send them to the maintainer. # # $Id: zorro.ids,v 1.19 2002/10/14 13:08:58 geert Exp $ # # Manufacturers and Products. Please keep sorted. # Syntax: # manufacturer manufacturer_name # product product_name <-- single tab 00d3 Pacific Peripherals 0000 SE 2000 A500 [HD Controller] 0a00 [SCSI Host Adapter] 00dd Kupke 0000 Golem RAM Box 2MB [RAM Expansion] 0100 MacroSystems USA # The Stormbringer is actually made by Memphis 0000 Stormbringer [Accelerator] 1300 Warp Engine [Accelerator, SCSI Host Adapter and RAM Expansion] 0200 3-State 0200 Megamix 2000 [RAM Expansion] 0201 Commodore Braunschweig 0100 A2088 XT/A2286 AT [ISA Bus Bridge] 0200 A2286 AT [ISA Bus Bridge] 5400 A4091 [SCSI Host Adapter] 6700 A2386-SX [ISA Bus Bridge] 0202 Commodore West Chester 0100 A2090/A2090A [SCSI Host Adapter] 0200 A590/A2091 [SCSI Host Adapter] 0300 A590/A2091 [SCSI Host Adapter] 0400 A2090B 2090 Autoboot [SCSI Host Adapter] 0900 A2060 [ArcNet Card] 0a00 A590/A2052/A2058/A2091 [RAM Expansion] 2000 A560 [RAM Expansion] 4500 A2232 Prototype [Multi I/O] 4600 A2232 [Multi I/O] 5000 A2620 68020 [Accelerator and RAM Expansion] 5100 A2630 68030 [Accelerator and RAM Expansion] 5400 A4091 [SCSI Host Adapter] 5a00 A2065 [Ethernet Card] 6000 Romulator Card 6100 A3000 Test Fixture [Miscellaneous Expansion Card] 6700 A2386-SX [ISA Bus Bridge] 7000 A2065 [Ethernet Card] 0203 Commodore West Chester 0300 A2090/A2090A Combitec/MacroSystem [SCSI Host Adapter] 02f4 Progressive Peripherals & Systems 0200 EXP8000 [RAM Expansion] 6900 A2000 68040 [Accelerator] 9600 68040 [Accelerator] 02ff Kolff Computer Supplies 0000 KCS Power PC [ISA Bus Bridge] 03ec Cardco Ltd. 0400 Kronos 2000 [SCSI Host Adapter] 0c00 A1000 [SCSI Host Adapter] 0e00 Escort [SCSI Host Adapter] f500 A2410 HiRes [Graphics Card] 03ed A-Squared 0100 Live! 2000 [Video Card] 03ee Comspec Communications 0100 AX2000 [RAM Expansion] 03f1 Anakin Research 0100 Easyl Drawing Tablet Interface 03f2 Microbotics 0000 StarBoard II [RAM Expansion] 0200 StarDrive [SCSI Host Adapter] 0300 8-Up (Rev A) [RAM Expansion] 0400 8-Up (Rev Z) [RAM Expansion] 2000 Delta [RAM Expansion] 4000 8-Star [RAM Expansion] 4100 8-Star [Miscellaneous Expansion Card] 4400 VXL RAM*32 [RAM Expansion] 4500 VXL-30 [Accelerator] 6000 Delta [Miscellaneous Expansion Card] 8100 MBX 1200/1200z [RAM Expansion] 9600 Hardframe 2000 [SCSI Host Adapter] 9e00 Hardframe 2000 [SCSI Host Adapter] c100 MBX 1200/1200z [Miscellaneous Expansion Card] 03f4 Access Associates Alegra 03f6 Expansion Technologies/Pacific Cypress 03ff ASDG 0100 [RAM Expansion] 0200 [RAM Expansion] fe00 EB-920 Lan Rover [Ethernet Card] ff00 GPIB/Dual IEEE-488/Twin-X [Multi I/O] 0404 Ronin/Imtronics 3900 Hurricane 2800 [Accelerator and RAM Expansion] 5700 Hurricane 2800 [Accelerator and RAM Expansion] 0406 Commodore/University of Lowell 0000 A2410 HiRes [Graphics Card] 041d Ameristar 0100 A2065 [Ethernet Card] 0900 A560 [ArcNet Card] 0a00 A4066 [Ethernet Card] 2000 1600-GX [Graphics Card] 0420 Supra 0100 SupraDrive 4x4 [SCSI Host Adapter] 0200 1000 [RAM Expansion] 0300 2000 DMA [SCSI Host Adapter] 0500 500 [SCSI Host Adapter and RAM Expansion] 0800 500 [SCSI Host Adapter] 0900 500XP/2000 [RAM Expansion] 0a00 500RX/2000 [RAM Expansion] 0b00 2400zi [Modem] 0c00 500XP/SupraDrive WordSync [SCSI Host Adapter] 0d00 SupraDrive WordSync II [SCSI Host Adapter] 1000 2400zi+ [Modem] 0422 Computer Systems Assosiates 1100 Magnum 40 [Accelerator and SCSI Host Adapter] 1500 12 Gauge [SCSI Host Adapter] 0439 Marc Michael Groth 0502 M-Tech 0300 AT500 [RAM Expansion] 06e1 Great Valley Products 0800 Impact Series I [SCSI Host Adapter and RAM Expansion] 2000 Impact Vision 24 [Graphics Card] 07da ByteBox 0000 A500 07db Hacker Test Board 07dc DKB/Power Computing 0900 SecureKey 0e00 DKM 3128 [RAM Expansion] 0f00 Rapid Fire [SCSI Host Adapter] 1000 DKM 1202 [FPU and RAM Expansion] 1200 Cobra/Viper II 68EC030 [Accelerator] 1700 WildFire 060 [Accelerator] ff00 WildFire 060 [Accelerator] 07e1 Great Valley Products 0100 Impact Series I (4K) [SCSI Host Adapter] 0200 Impact Series I (16K/2) [SCSI Host Adapter] 0300 Impact Series I (16K/2) [SCSI Host Adapter] 0800 Impact 3001 [IDE Interface] 0900 Impact 3001 [RAM Expansion] 0a00 Impact Series II [RAM Expansion] 0b20 GForce 040 [Accelerator] 0b30 GForce 040 [Accelerator and SCSI Host Adapter] 0b40 A1291 [SCSI Host Adapter] 0b60 Combo 030 R4 [Accelerator] 0b70 Combo 030 R4 [Accelerator and SCSI Host Adapter] 0b78 Phone Pak 0b98 IO-Extender [Multi I/O] 0ba0 GForce 030 [Accelerator] 0bb0 GForce 030 [Accelerator and SCSI Host Adapter] 0bc0 A530 [Accelerator] 0bd0 A530 [Accelerator and SCSI Host Adapter] 0be0 Combo 030 R3 [Accelerator] 0bf0 Combo 030 R3 [Accelerator and SCSI Host Adapter] 0bf8 Series-II [SCSI Host Adapter] 0d00 Impact 3001 [IDE Interface] 1600 GForce 040/060 [Accelerator and SCSI Host Adapter] 2000 Impact Vision 24 [Graphics Card] 4400 Rembrandt [Graphics Card] ff00 GForce 040 [Accelerator] 07e5 California Access/Synergy 0100 Malibu [SCSI Host Adapter] 07e6 Xetec 0100 FastCard [SCSI Host Adapter] 0200 FastCard [RAM Expansion] 0300 FastCard Plus [SCSI Host Adapter] 07ea Progressive Peripherals & Systems 0000 Mercury [Accelerator] 0100 A3000 68040 [Accelerator] 6900 A2000 68040 [Accelerator] 9600 Zeus [Accelerator, SCSI Host Adapter and RAM Expansion] bb00 A500 68040 [Accelerator] # The AteoBus and Pixel64 are actually made by Ateo Concepts fc00 AteoBus [Expansion Bus Bridge] fe00 Pixel64 [Graphics Card] ff00 Pixel64 RAM [Graphics Card] 07ec Xebec 07f2 Spirit Technology 0100 Insider IN1000 [RAM Expansion] 0200 Insider IN500 [RAM Expansion] 0300 SIN500 [RAM Expansion] 0400 HDA 506 [HD Controller] 0500 AX-S [Miscellaneous Expansion Card] 0600 OctaByte [RAM Expansion] 0800 Inmate [SCSI Host Adapter and RAM Expansion] 07f3 Spirit Technology 07fe BSC/Alfadata 0300 ALF 3 [SCSI Host Adapter] 0801 BSC/Alfadata 0100 ALF 2 [SCSI Host Adapter] 0200 ALF 2 [SCSI Host Adapter] 0300 ALF 3 [SCSI Host Adapter] 0400 Oktagon 500 [SCSI Host Adapter] 0600 Tandem AT-2008/508 [IDE Interface] 0800 Oktagon 2008 [RAM Expansion] 1000 MultiFace I [Multi I/O] 2000 FrameMaster II [Graphics Card] 4000 ISDN MasterCard [ISDN Interface] 0802 Cardco Ltd. 0400 Kronos 2000 [SCSI Host Adapter] 0c00 A1000 [SCSI Host Adapter] 0804 Jochheim 0100 [RAM Expansion] 2000 [RAM Expansion] 0807 Checkpoint Technologies 0000 Serial Solution [Multi Serial] 0810 Edotronik 0100 IEEE-488 Interface Card 0200 CBM-8032 Card 0300 [Multi Serial] 0400 24Bit Realtime Video Digitizer 0500 32Bit Parallel I/O Interface 0600 PIC Prototyping Card 0700 16 Channel ADC Interface 0800 VME-Bus Controller 0900 DSP96000 Realtime Data Acquisition DSP Card 0813 NES Inc. 0000 [RAM Expansion] 0817 ICD 0100 Advantage 2000 [SCSI Host Adapter] 0300 Advantage [IDE Interface] 0400 Advantage 2080 [RAM Expansion] 0819 Kupke 0100 Omti [HD Controller] 0200 Golem SCSI-II [SCSI Host Adapter] 0300 Golem Box 0400 030/882 [Accelerator] 0500 Golem [SCSI Host Adapter] 081d Great Valley Products 0900 A2000-RAM8/2 [Miscellaneous Expansion Card] 0a00 Impact Series II [RAM Expansion] 081e Interworks Network 0820 Hardital Synthesis 0100 Super Big Bang [Accelerator, SCSI Host Adapter and RAM Expansion] 1400 TQM 68030+68882 [Accelerator] 0828 Applied Engineering 1000 DL2000 [Modem] e000 RAM Works [RAM Expansion] 082c BSC/Alfadata 0400 Oktagon 500 [SCSI Host Adapter] 0500 Oktagon 2008 [SCSI Host Adapter] 0600 Tandem AT-2008/508 [IDE Interface] 0700 Alpha 1200 [RAM Expansion] 0800 Oktagon 2008 [RAM Expansion] 1000 MultiFace I [Multi I/O] 1100 MultiFace II [Multi I/O] 1200 MultiFace III [Multi I/O] 2000 FrameMaster II [Graphics Card] 2100 Graffiti RAM [Graphics Card] 2200 Graffiti [Graphics Card] 4000 ISDN MasterCard [ISDN Interface] 4100 ISDN MasterCard II [ISDN Interface] 0835 Phoenix 2100 ST506 [HD Controller] 2200 [SCSI Host Adapter] be00 [RAM Expansion] 0836 Advanced Storage Systems 0100 Nexus [SCSI Host Adapter] 0800 Nexus [RAM Expansion] 0838 Impulse 0000 FireCracker 24 (NTSC) [Graphics Card] 0100 FireCracker 24 (PAL) [Graphics Card] 0840 IVS 0200 GrandSlam PIC 2 [RAM Expansion] 0400 GrandSlam PIC 1 [RAM Expansion] 1000 OverDrive [HD Controller] 3000 TrumpCard Classic [SCSI Host Adapter] 3400 TrumpCard Pro/GrandSlam [SCSI Host Adapter] 4000 Meta-4 [RAM Expansion] bf00 Wavetools [Audio Card] f300 Vector [SCSI Host Adapter] f400 Vector [SCSI Host Adapter] 0841 Vector e300 Connection [Multi I/O] 0845 XPert ProDev 0100 Visiona RAM [Graphics Card] 0200 Visiona [Graphics Card] 0300 Merlin RAM [Graphics Card] 0400 Merlin [Graphics Card] c900 Merlin [Graphics Card] 0849 Hydra Systems 0100 Amiganet [Ethernet Card] 084f Sunrize Industries 0100 AD1012 [Audio Card] 0200 AD516 [Audio Card] 0300 DD512 [Audio Card] 0850 Triceratops 0100 [Multi I/O] 0851 Applied Magic Inc. 0100 DMI Resolver [Graphics Card] 0200 Vivid 24 [Graphics Card] 0600 Digital Broadcaster [Video Card] 085e GFX-Base 0000 GDA-1 VRAM [Graphics Card] 0100 GDA-1 [Graphics Card] 0860 RocTec 0100 RH 800C [HD Controller] 0200 RH 800C [RAM Expansion] 0861 Kato # The Rainbow II and III are actually made by Ingenieurbüro Helfrich 2000 Rainbow II [Graphics Card] 2100 Rainbow III [Graphics Card] 8000 Melody MPEG [Audio Card] 0862 Atlantis 0864 Protar 0865 ACS 0866 Software Results Enterprises 0100 Golden Gate 2 Bus+ [ISA Bus Bridge] 086a Unknown 0100 Horizon [Graphics Card] 0200 Blackbox [Graphics Card] 0300 Voyager [Graphics Card] 086d Masoboshi 0300 MasterCard SC201 [RAM Expansion] 0400 MasterCard MC702 [SCSI Host Adapter and IDE Interface] 0700 MVD 819 086f Mainhattan-Data/A-Team 0100 [IDE Interface] 0877 Village Tronic 0100 Domino RAM [Graphics Card] 0200 Domino [Graphics Card] 0300 Domino 16M Prototype [Graphics Card] 0b00 Picasso II/II+ RAM [Graphics Card] 0c00 Picasso II/II+ [Graphics Card] 0d00 Picasso II/II+ (Segmented Mode) [Graphics Card] 1500 Picasso IV Z2 RAM [Graphics Card] 1600 Picasso IV Z2 RAM [Graphics Card] 1700 Picasso IV Z2 [Graphics Card] 1800 Picasso IV Z3 [Graphics Card] c900 Ariadne [Ethernet Card and Parallel Ports] ca00 Ariadne II [Ethernet Card] 087b Utilities Unlimited 1500 Emplant Deluxe [Macintosh Emulator] 2000 Emplant Deluxe [Macintosh Emulator] 0880 Amitrix 0100 [Multi I/O] 0200 CD-RAM [RAM Expansion] 0885 ArMax 0000 OmniBus [Graphics Card] 088d ZEUS Electronic Development 0300 [ISDN Interface] 0400 Spider [Video Card] 088f NewTek 0000 VideoToaster [Video Card] 0890 M-Tech Germany 0100 AT500 [IDE Interface] 0300 68030 [Accelerator] 0600 68020i [Accelerator] 2000 A1200 T68030 RTC [Accelerator] 2100 Viper Mk V/E-Matrix 530 [Accelerator and RAM Expansion] 2200 8MB [RAM Expansion] 2400 Viper Mk V/E-Matrix 530 [SCSI Host Adapter and IDE Interface] 0891 Great Valley Products 0100 EGS 28/24 Spectrum RAM [Graphics Card] 0200 EGS 28/24 Spectrum [Graphics Card] 0892 Apollo 0100 A1200 [FPU and RAM Expansion] 0893 Ingenieurbüro Helfrich 0500 Piccolo RAM [Graphics Card] 0600 Piccolo [Graphics Card] 0700 PeggyPlus MPEG [Video Card] 0800 VideoCruncher [Video Card] 0a00 Piccolo SD64 RAM [Graphics Card] 0b00 Piccolo SD64 [Graphics Card] 089b MacroSystems USA 1300 Warp Engine 40xx [Accelerator, SCSI Host Adapter and RAM Expansion] 089e ElBox Computer 0600 1200/4 [RAM Expansion] 0800 FastATA 1200 [IDE Interface] 1200 FastATA 1200 [IDE Interface] 1300 FastATA 1200 [IDE Interface] 1800 FastATA 1200 [IDE Interface] 1900 FastATA 4000 [IDE Interface] 1d00 FastATA 4000 [IDE Interface] 1e00 FastATA ZIV [IDE Interface] 0a00 Harms Professional 1000 030 Plus [Accelerator] d000 3500 Professional [Accelerator and RAM Expansion] 0a50 Micronik 0a00 RCA 120 [RAM Expansion] 0f0f Micronik 0100 Z3i A1200 [Zorro III Extender and SCSI Host Adapter] 1000 MegaMicro 0300 SCRAM 500 [SCSI Host Adapter] 0400 SCRAM 500 [RAM Expansion] 1028 Ronin/Imtronics 3900 Hurricane 2800 [Accelerator and RAM Expansion] 5700 Hurricane 2800 [Accelerator and RAM Expansion] 102f Ateo Concepts fc00 AteoBus [Expansion Bus Bridge] fe00 Pixel64 [Graphics Card] ff00 Pixel64 RAM [Graphics Card] 1212 Individual Computers 0000 Buddha [IDE Interface] 1700 X-Surf [Ethernet Card and IDE Interface] 2a00 Catweasel [IDE Interface and Floppy Controller] 1248 Kupke 0100 Golem HD 3000 [HD Controller] 1267 RBM-Computertechnik 0100 IOBlix [Multi I/O] 1388 ITH 0100 ISDN-Master II [ISDN Interface] 1389 VMC 0100 ISDN Blaster Z2 [ISDN Interface] 0200 HyperCom 4 [Multi I/O] 0600 HyperCom 4+ [Multi I/O] 157c Information 6400 ISDN Engine I [ISDN Interface] 2017 Vortex 0700 Golden Gate 80386SX [ISA Bus Bridge] 0800 Golden Gate [RAM Expansion] 0900 Golden Gate 80486 [ISA Bus Bridge] 2062 Expansion Systems 0100 DataFlyer 4000SX [SCSI Host Adapter] 0200 DataFlyer 4000SX [RAM Expansion] 2100 ReadySoft 0100 AMax II/IV [Macintosh Emulator] 2140 Phase 5 0100 Blizzard [RAM Expansion] 0200 Blizzard [Accelerator] 0600 Blizzard 1220-IV [Accelerator] 0a00 FastLane Z3 [RAM Expansion] 0b00 Blizzard 1230-II/Fastlane Z3/CyberSCSI/CyberStorm060 [Accelerator and/or SCSI Host Adapter] 0c00 Blizzard 1220/CyberStorm [Accelerator and SCSI Host Adapter] 0d00 Blizzard 1230 [Accelerator] 1100 Blizzard 1230-IV/1260 [Accelerator] 1800 Blizzard 2060 [Accelerator] 1900 CyberStorm Mk II [Flash ROM] 2200 CyberVision64 [Graphics Card] 3200 CyberVision64-3D Prototype [Graphics Card] 4300 CyberVision64-3D [Graphics Card] 6400 CyberStorm Mk III [Accelerator and SCSI Host Adapter] 6e00 Blizzard 603e+ [Accelerator and SCSI Host Adapter] 2169 DPS 0100 Personal Animation Recorder [Video Card] 2200 Apollo 0000 A620 68020 [Accelerator] 0100 A620 68020 [Accelerator] 2222 Apollo 2200 AT-Apollo 2300 1230/1240/1260/2030/4040/4060 [Accelerator] 38a5 Petsoff LP 0000 Delfina [Audio Card] 0100 Delfina Lite [Audio Card] 0200 Delfina Plus [Audio Card] 3ff7 Uwe Gerlach d400 RAM/ROM [Miscellaneous Expansion Card] 4231 ACT 0100 Prelude [Audio Card] 4754 MacroSystems Germany 0300 Maestro [Audio Card] 0400 VLab [Video Card] 0500 Maestro Pro [Audio Card] 0600 Retina [Graphics Card] 0800 MultiEvolution [SCSI Host Adapter] 0c00 Toccata [Audio Card] 0d00 Toccata Pro [Audio Card] 1000 Retina Z3 [Graphics Card] 1200 VLab Motion [Video Card] 1300 Altais [Graphics Card] fd00 Falcon '040 [Accelerator] 6766 Combitec 8000 SKI Peripherals 0800 MAST Fireball [SCSI Host Adapter] 8000 [SCSI Host Adapter and Dual Serial Card] a9ad Reis-Ware 1100 Scan King [Scanner Interface] aa01 Cameron 1000 Personal A4 [Scanner Interface] aa11 Reis-Ware 1100 Handyscanner [Scanner Interface] b5a8 Phoenix 2100 ST506 [HD Controller] 2200 [SCSI Host Adapter] be00 [RAM Expansion] c008 Combitec 2a00 [HD Controller] 2b00 SRAM [RAM Expansion] zorroutils-0.04+20021014.orig/zorroutils.h0000644000252700014400000000173607164710766020301 0ustar velaDebian00000000000000/* * $Id: zorroutils.h,v 1.5 2000/09/28 18:46:14 geert Exp $ * * Linux Zorro Utilities -- Declarations * * Copyright (C) 1998--2000 Geert Uytterhoeven * * Can be freely distributed and used under the terms of the GNU GPL. */ #include #define ZORROUTILS_VERSION "0.04" #define PROC_BUS_ZORRO "/proc/bus/zorro" #define ZORRO_ID_DB "/usr/share/zorro.ids" /* Types */ typedef __u8 byte; typedef __u16 word; typedef __u32 u32; /* lszorro.c */ void *xmalloc(unsigned int); /* names.c */ extern int show_numeric_ids; extern char *zorro_ids; char *lookup_vendor(word); char *lookup_device(word, byte, byte); char *lookup_device_full(word, byte, byte); /* filter.c */ struct zorro_filter { int slot; /* -1 = ANY */ int manuf, prod, epc; }; void filter_init(struct zorro_filter *); char *filter_parse_slot(struct zorro_filter *, char *); char *filter_parse_id(struct zorro_filter *, char *); int filter_match(struct zorro_filter *, byte, word, byte, byte); zorroutils-0.04+20021014.orig/zorroutils.lsm0000644000252700014400000000103407164710766020634 0ustar velaDebian00000000000000Begin3 Title: Linux Zorro Utilities Version: 0.04 Entered-date: 000928 Description: This package contains a utility for inspecting devices connected to the Zorro bus. Requires kernel version 2.1.106 or newer (supporting the /proc/bus/zorro interface). Keywords: kernel, zorro, proc, lszorro Author: geert@linux-m68k.org (Geert Uytterhoeven) Maintained-by: geert@linux-m68k.org (Geert Uytterhoeven) Primary-site: http://home.tvd.be/cr26864/Linux/zorroutils/ Alternate-site: Copying-policy: GPL End