Home | History | Annotate | Line # | Download | only in pci
mly_tables.h revision 1.3.2.1
      1  1.3.2.1  skrll /*	$NetBSD: mly_tables.h,v 1.3.2.1 2005/03/04 16:45:21 skrll Exp $	*/
      2      1.1     ad 
      3      1.1     ad /*-
      4      1.1     ad  * Copyright (c) 2001 The NetBSD Foundation, Inc.
      5      1.1     ad  * All rights reserved.
      6      1.1     ad  *
      7      1.1     ad  * This code is derived from software contributed to The NetBSD Foundation
      8      1.1     ad  * by Andrew Doran, Thor Lancelot Simon, and Eric Haszlakiewicz.
      9      1.1     ad  *
     10      1.1     ad  * Redistribution and use in source and binary forms, with or without
     11      1.1     ad  * modification, are permitted provided that the following conditions
     12      1.1     ad  * are met:
     13      1.1     ad  * 1. Redistributions of source code must retain the above copyright
     14      1.1     ad  *    notice, this list of conditions and the following disclaimer.
     15      1.1     ad  * 2. Redistributions in binary form must reproduce the above copyright
     16      1.1     ad  *    notice, this list of conditions and the following disclaimer in the
     17      1.1     ad  *    documentation and/or other materials provided with the distribution.
     18      1.1     ad  * 3. All advertising materials mentioning features or use of this software
     19      1.1     ad  *    must display the following acknowledgement:
     20      1.1     ad  *        This product includes software developed by the NetBSD
     21      1.1     ad  *        Foundation, Inc. and its contributors.
     22      1.1     ad  * 4. Neither the name of The NetBSD Foundation nor the names of its
     23      1.1     ad  *    contributors may be used to endorse or promote products derived
     24      1.1     ad  *    from this software without specific prior written permission.
     25      1.1     ad  *
     26      1.1     ad  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     27      1.1     ad  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     28      1.1     ad  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     29      1.1     ad  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     30      1.1     ad  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     31      1.1     ad  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     32      1.1     ad  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     33      1.1     ad  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     34      1.1     ad  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     35      1.1     ad  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     36      1.1     ad  * POSSIBILITY OF SUCH DAMAGE.
     37      1.1     ad  */
     38      1.1     ad 
     39      1.1     ad /*-
     40      1.1     ad  * Copyright (c) 2000 Michael Smith
     41      1.1     ad  * Copyright (c) 2000 BSDi
     42      1.1     ad  * All rights reserved.
     43      1.1     ad  *
     44      1.1     ad  * Redistribution and use in source and binary forms, with or without
     45      1.1     ad  * modification, are permitted provided that the following conditions
     46      1.1     ad  * are met:
     47      1.1     ad  * 1. Redistributions of source code must retain the above copyright
     48      1.1     ad  *    notice, this list of conditions and the following disclaimer.
     49      1.1     ad  * 2. Redistributions in binary form must reproduce the above copyright
     50      1.1     ad  *    notice, this list of conditions and the following disclaimer in the
     51      1.1     ad  *    documentation and/or other materials provided with the distribution.
     52      1.1     ad  *
     53      1.1     ad  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     54      1.1     ad  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     55      1.1     ad  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     56      1.1     ad  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     57      1.1     ad  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     58      1.1     ad  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     59      1.1     ad  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     60      1.1     ad  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     61      1.1     ad  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     62      1.1     ad  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     63      1.1     ad  * SUCH DAMAGE.
     64      1.1     ad  *
     65      1.1     ad  * from FreeBSD: mly_tables.h,v 1.2 2001/07/14 00:12:22 msmith Exp
     66      1.1     ad  */
     67      1.1     ad 
     68      1.1     ad #ifndef _PCI_MLY_TABLES_H_
     69      1.1     ad #define	_PCI_MLY_TABLES_H_
     70      1.1     ad 
     71      1.1     ad struct mly_code_lookup {
     72      1.1     ad 	const char	*string;
     73      1.1     ad 	u_int		code;
     74      1.1     ad };
     75      1.1     ad 
     76      1.1     ad static const char	*mly_describe_code(const struct mly_code_lookup *,
     77      1.1     ad 					   u_int32_t);
     78      1.1     ad 
     79      1.1     ad /*
     80      1.1     ad  * Look up a text description of a numeric code and return a pointer to same.
     81      1.1     ad  */
     82      1.1     ad static const char *
     83      1.1     ad mly_describe_code(const struct mly_code_lookup *table, u_int32_t code)
     84      1.1     ad {
     85      1.1     ad 	int i;
     86      1.1     ad 
     87      1.1     ad 	for (i = 0; table[i].string != NULL; i++)
     88      1.1     ad 		if (table[i].code == code)
     89      1.1     ad 			return (table[i].string);
     90      1.1     ad 
     91      1.1     ad 	return (table[i + 1].string);
     92      1.1     ad }
     93      1.1     ad 
     94      1.1     ad /*
     95      1.1     ad  * This table is directly derived from the corresponding table in the Linux
     96      1.1     ad  * driver, and uses a derivative encoding for simplicity's sake.
     97      1.1     ad  *
     98      1.1     ad  * The first character of the string determines the format of the message.
     99      1.1     ad  *
    100      1.1     ad  * p  "physical device <channel>:<target> <text>"    (physical device status)
    101      1.1     ad  * s  "physical device <channel>:<target> <text>"    (scsi message or error)
    102      1.1     ad  *	"  sense key <key>  asc <asc>  ascq <ascq>"
    103      1.1     ad  *	"  info <info>   csi <csi>"
    104      1.1     ad  * l  "logical drive <unit>: <text>"		     (logical device status)
    105      1.1     ad  * m  "logical drive <unit>: <text>"		     (logical device message)
    106      1.1     ad  *
    107      1.1     ad  * Messages which are typically suppressed have the first character
    108      1.1     ad  * capitalised.  These messages will only be printed if bootverbose is set.
    109      1.1     ad  *
    110      1.1     ad  * The second character in the string indicates an action to be taken as a
    111      1.1     ad  * result of the event.
    112      1.1     ad  *
    113      1.1     ad  * r	rescan the device for possible state change
    114      1.1     ad  *
    115      1.1     ad  */
    116      1.1     ad static const struct mly_code_lookup mly_table_event[] = {
    117      1.1     ad 	/*
    118      1.1     ad 	 * Physical device events (0x0000 - 0x007f).
    119      1.1     ad 	 */
    120      1.1     ad 	{ "pr online",						0x0001 },
    121      1.1     ad 	{ "pr standby",						0x0002 },
    122      1.1     ad 	{ "p  automatic rebuild started",			0x0005 },
    123      1.1     ad 	{ "p  manual rebuild started",				0x0006 },
    124      1.1     ad 	{ "pr rebuild completed",				0x0007 },
    125      1.3  perry 	{ "pr rebuild cancelled",				0x0008 },
    126      1.1     ad 	{ "pr rebuild failed for unknown reasons",		0x0009 },
    127      1.1     ad 	{ "pr rebuild failed due to new physical device",	0x000a },
    128      1.1     ad 	{ "pr rebuild failed due to logical drive failure",	0x000b },
    129      1.1     ad 	{ "sr offline",						0x000c },
    130      1.1     ad 	{ "pr found",						0x000d },
    131      1.1     ad 	{ "pr gone",						0x000e },
    132      1.1     ad 	{ "p  unconfigured",					0x000f },
    133      1.1     ad 	{ "p  expand capacity started",				0x0010 },
    134      1.1     ad 	{ "pr expand capacity completed",			0x0011 },
    135      1.1     ad 	{ "pr expand capacity failed",				0x0012 },
    136      1.1     ad 	{ "p  parity error",					0x0016 },
    137      1.1     ad 	{ "p  soft error",					0x0017 },
    138      1.1     ad 	{ "p  miscellaneous error",				0x0018 },
    139      1.1     ad 	{ "p  reset",						0x0019 },
    140      1.1     ad 	{ "p  active spare found",				0x001a },
    141      1.1     ad 	{ "p  warm spare found",				0x001b },
    142      1.1     ad 	{ "s  sense data received",				0x001c },
    143      1.1     ad 	{ "p  initialization started",				0x001d },
    144      1.1     ad 	{ "pr initialization completed",			0x001e },
    145      1.1     ad 	{ "pr initialization failed",				0x001f },
    146      1.3  perry 	{ "pr initialization cancelled",			0x0020 },
    147      1.1     ad 	{ "P  write recovery failed",				0x0021 },
    148      1.1     ad 	{ "p  scsi bus reset failed",				0x0022 },
    149      1.1     ad 	{ "p  double check condition",				0x0023 },
    150      1.1     ad 	{ "p  device cannot be accessed",			0x0024 },
    151      1.1     ad 	{ "p  gross error on scsi processor",			0x0025 },
    152      1.1     ad 	{ "p  bad tag from device",				0x0026 },
    153      1.1     ad 	{ "p  command timeout",					0x0027 },
    154      1.1     ad 	{ "pr system reset",					0x0028 },
    155      1.1     ad 	{ "p  busy status or parity error",			0x0029 },
    156      1.1     ad 	{ "pr host set device to failed state",			0x002a },
    157      1.1     ad 	{ "pr selection timeout",				0x002b },
    158      1.1     ad 	{ "p  scsi bus phase error",				0x002c },
    159      1.1     ad 	{ "pr device returned unknown status",			0x002d },
    160      1.1     ad 	{ "pr device not ready",				0x002e },
    161      1.1     ad 	{ "p  device not found at startup",			0x002f },
    162      1.1     ad 	{ "p  COD write operation failed",			0x0030 },
    163      1.1     ad 	{ "p  BDT write operation failed",			0x0031 },
    164      1.1     ad 	{ "p  missing at startup",				0x0039 },
    165      1.1     ad 	{ "p  start rebuild failed (physical drive too small)",	0x003a },
    166      1.1     ad 
    167      1.1     ad 	/*
    168      1.1     ad 	 * Logical device events (0x0080 - 0x00ff).
    169      1.1     ad 	 */
    170      1.1     ad 	{ "m  consistency check started",			0x0080 },
    171      1.1     ad 	{ "mr consistency check completed",			0x0081 },
    172      1.3  perry 	{ "mr consistency check cancelled",			0x0082 },
    173      1.1     ad 	{ "mr consistency check completed with errors",		0x0083 },
    174      1.1     ad 	{ "mr consistency check failed (logical drive failure)",0x0084 },
    175      1.1     ad 	{ "mr consistency check failed (physical device failure)",0x0085 },
    176      1.1     ad 	{ "lr offline",						0x0086 },
    177      1.1     ad 	{ "lr critical",					0x0087 },
    178      1.1     ad 	{ "lr online",						0x0088 },
    179      1.1     ad 	{ "m  automatic rebuild started",			0x0089 },
    180      1.1     ad 	{ "m  manual rebuild started",				0x008a },
    181      1.1     ad 	{ "mr rebuild completed",				0x008b },
    182      1.3  perry 	{ "mr rebuild cancelled",				0x008c },
    183      1.1     ad 	{ "mr rebuild failed for unknown reasons",		0x008d },
    184      1.1     ad 	{ "mr rebuild failed due to new physical device",	0x008e },
    185      1.1     ad 	{ "mr rebuild failed due to logical drive failure",	0x008f },
    186      1.1     ad 	{ "l  initialization started",				0x0090 },
    187      1.1     ad 	{ "lr initialization completed",			0x0091 },
    188      1.3  perry 	{ "lr initialization cancelled",			0x0092 },
    189      1.1     ad 	{ "lr initialization failed",				0x0093 },
    190      1.1     ad 	{ "lr found",						0x0094 },
    191      1.1     ad 	{ "lr gone",						0x0095 },
    192      1.1     ad 	{ "l  expand capacity started",				0x0096 },
    193      1.1     ad 	{ "lr expand capacity completed",			0x0097 },
    194      1.1     ad 	{ "lr expand capacity failed",				0x0098 },
    195      1.1     ad 	{ "l  bad block found",					0x0099 },
    196      1.1     ad 	{ "lr size changed",					0x009a },
    197      1.1     ad 	{ "lr type changed",					0x009b },
    198      1.1     ad 	{ "l  bad data block found",				0x009c },
    199      1.1     ad 	{ "l  read of data block in bdt",			0x009e },
    200      1.1     ad 	{ "l  write back data for disk block lost",		0x009f },
    201      1.1     ad 
    202      1.1     ad 	/*
    203      1.1     ad 	 * Enclosure management events (0x0100 - 0x017f).
    204      1.1     ad 	 */
    205      1.1     ad 	{ "e  enclosure %d fan %d failed",			0x0140 },
    206      1.1     ad 	{ "e  enclosure %d fan %d ok",				0x0141 },
    207      1.1     ad 	{ "e  enclosure %d fan %d not present",			0x0142 },
    208      1.1     ad 	{ "e  enclosure %d power supply %d failed",		0x0143 },
    209      1.1     ad 	{ "e  enclosure %d power supply %d ok",			0x0144 },
    210      1.1     ad 	{ "e  enclosure %d power supply %d not present",	0x0145 },
    211      1.1     ad 	{ "e  enclosure %d temperature sensor %d failed",	0x0146 },
    212      1.1     ad 	{ "e  enclosure %d temperature sensor %d critical",	0x0147 },
    213      1.1     ad 	{ "e  enclosure %d temperature sensor %d ok",		0x0148 },
    214      1.1     ad 	{ "e  enclosure %d temperature sensor %d not present",	0x0149 },
    215      1.1     ad 	{ "e  enclosure %d unit %d access critical",		0x014a },
    216      1.1     ad 	{ "e  enclosure %d unit %d access ok",			0x014b },
    217      1.1     ad 	{ "e  enclosure %d unit %d access offline",		0x014c },
    218      1.1     ad 
    219      1.1     ad 	/*
    220      1.1     ad 	 * Controller events (0x0180 - 0x01ff).
    221      1.1     ad 	 */
    222      1.1     ad 	{ "c  cache write back error",				0x0181 },
    223      1.1     ad 	{ "c  battery backup unit found",			0x0188 },
    224      1.1     ad 	{ "c  battery backup unit charge level low",		0x0189 },
    225      1.1     ad 	{ "c  battery backup unit charge level ok",		0x018a },
    226      1.1     ad 	{ "c  installation aborted",				0x0193 },
    227      1.1     ad 	{ "c  mirror race recovery in progress",		0x0195 },
    228      1.1     ad 	{ "c  mirror race on critical drive",			0x0196 },
    229      1.1     ad 	{ "c  memory soft ecc error",				0x019e },
    230      1.1     ad 	{ "c  memory hard ecc error",				0x019f },
    231      1.1     ad 	{ "c  battery backup unit failed",			0x01a2 },
    232      1.1     ad 
    233      1.1     ad 	{ NULL,							0 },
    234      1.1     ad 	{ "?  unknown event code",				0 }
    235      1.1     ad };
    236      1.1     ad 
    237      1.1     ad /*
    238      1.1     ad  * Values here must be 16 characters or less, as they are packed into
    239      1.1     ad  * the 'product' field in the SCSI inquiry data.
    240      1.1     ad  */
    241      1.1     ad static const struct mly_code_lookup mly_table_device_state[] = {
    242      1.1     ad 	{ "OFLN",		MLY_DEVICE_STATE_OFFLINE },
    243      1.1     ad 	{ "UNCF",		MLY_DEVICE_STATE_UNCONFIGURED },
    244      1.1     ad 	{ "ONLN",		MLY_DEVICE_STATE_ONLINE },
    245      1.1     ad 	{ "CRIT",		MLY_DEVICE_STATE_CRITICAL },
    246      1.1     ad 	{ "NORD",		MLY_DEVICE_STATE_WRITEONLY },
    247      1.1     ad 	{ "STBY",		MLY_DEVICE_STATE_STANDBY },
    248      1.1     ad 	{ "MISS",		MLY_DEVICE_STATE_MISSING },
    249      1.1     ad 	{ NULL,			0 },
    250      1.1     ad 	{ "????",		0 }
    251      1.1     ad };
    252      1.1     ad 
    253      1.1     ad /*
    254      1.1     ad  * Values here must be 8 characters or less, as they are packed into the
    255      1.1     ad  * 'vendor' field in the SCSI inquiry data.
    256      1.1     ad  */
    257      1.1     ad static const struct mly_code_lookup mly_table_device_type[] = {
    258      1.1     ad 	{ "RAID 0",		MLY_DEVICE_TYPE_RAID0 },
    259      1.1     ad 	{ "RAID 1",		MLY_DEVICE_TYPE_RAID1 },
    260      1.1     ad 	{ "RAID 3",		MLY_DEVICE_TYPE_RAID3 },
    261      1.1     ad 	{ "RAID 5",		MLY_DEVICE_TYPE_RAID5 },
    262      1.1     ad 	{ "RAID 6",		MLY_DEVICE_TYPE_RAID6 },
    263      1.1     ad 	{ "RAID 7",		MLY_DEVICE_TYPE_RAID7 },
    264      1.1     ad 	{ "SPAN",		MLY_DEVICE_TYPE_NEWSPAN },
    265      1.1     ad 	{ "RAID 3",		MLY_DEVICE_TYPE_RAID3F },
    266      1.1     ad 	{ "RAID 3",		MLY_DEVICE_TYPE_RAID3L },
    267      1.1     ad 	{ "SPAN",		MLY_DEVICE_TYPE_SPAN },
    268      1.1     ad 	{ "RAID 5",		MLY_DEVICE_TYPE_RAID5L },
    269      1.1     ad 	{ "RAID E",		MLY_DEVICE_TYPE_RAIDE },
    270      1.1     ad 	{ "PHYSICAL",		MLY_DEVICE_TYPE_PHYSICAL },
    271      1.1     ad 	{ NULL,			0 },
    272      1.1     ad 	{ "UNKNOWN",		0 }
    273      1.1     ad };
    274      1.1     ad 
    275      1.1     ad #ifdef notused
    276      1.1     ad static struct mly_code_lookup mly_table_bustype[] = {
    277      1.1     ad 	{ "SCSI",		0x00 },
    278      1.1     ad 	{ "FC-AL",		0x01 },
    279      1.1     ad 	{ "PCI",		0x03 },
    280      1.1     ad 	{ NULL,			0 },
    281      1.1     ad 	{ "unknown bus",	0}
    282      1.1     ad };
    283      1.1     ad 
    284      1.1     ad static const struct mly_code_lookup mly_table_controllertype[] = {
    285      1.1     ad #if 0	/* not supported by this driver */
    286      1.1     ad 	{ "DAC960E",		0x01 },	/* EISA */
    287      1.1     ad 	{ "DAC960M",		0x08 },	/* MCA */
    288      1.1     ad 	{ "DAC960PD",		0x10 },	/* PCI Dual */
    289      1.1     ad 	{ "DAC960PL",		0x11 },	/* PCU low-cost */
    290      1.1     ad 	{ "DAC960PDU",		0x12 },	/* PD Ultra */
    291      1.1     ad 	{ "DAC960PE",		0x13 },	/* Peregrine low-cost */
    292      1.1     ad 	{ "DAC960PG",		0x14 },	/* Peregrine high-performance */
    293      1.1     ad 	{ "DAC960PJ",		0x15 },	/* Road Runner */
    294      1.1     ad 	{ "DAC960PTL0",		0x16 },	/* Jaguar */
    295      1.1     ad 	{ "DAC960PR",		0x17 },	/* Road Runner (again?) */
    296      1.1     ad 	{ "DAC960PRL",		0x18 },	/* Tomcat */
    297      1.1     ad 	{ "DAC960PT",		0x19 },	/* Road Runner (yet again?) */
    298      1.1     ad 	{ "DAC1164P",		0x1a },	/* Little Apple */
    299      1.1     ad 	{ "DAC960PTL1",		0x1b },	/* Jaguar+ */
    300      1.1     ad #endif
    301      1.1     ad 	{ "EXR2000P",		0x1c },	/* Big Apple */
    302      1.1     ad 	{ "EXR3000P",		0x1d }, /* Fibre Apple */
    303      1.1     ad 	{ "AcceleRAID 352",	0x1e },	/* Leopard */
    304      1.1     ad 	{ "AcceleRAID 170",	0x1f },	/* Lynx */
    305      1.1     ad 	{ "AcceleRAID 160",	0x20 },	/* Bobcat */
    306      1.1     ad 	{ NULL,			0 },
    307      1.1     ad 	{ "unknown adapter",	0 }
    308  1.3.2.1  skrll };
    309      1.1     ad 
    310      1.1     ad static const struct mly_code_lookup mly_table_oemname[] = {
    311      1.1     ad 	{ "Mylex",		MLY_OEM_MYLEX },
    312      1.1     ad 	{ "IBM",		MLY_OEM_IBM },
    313      1.1     ad 	{ "Hewlett-Packard",	MLY_OEM_HP },
    314      1.1     ad 	{ "DEC/Compaq",		MLY_OEM_DEC },
    315      1.1     ad 	{ "Siemens",		MLY_OEM_SIEMENS },
    316      1.1     ad 	{ "Intel",		MLY_OEM_INTEL },
    317      1.1     ad 	{ NULL,			0 },
    318      1.1     ad 	{ "unknown OEM",	0 }
    319      1.1     ad };
    320      1.1     ad 
    321      1.1     ad static const struct mly_code_lookup mly_table_memorytype[] = {
    322      1.1     ad 	{ "DRAM",		0x01 },
    323      1.1     ad 	{ "EDRAM",		0x02 },
    324      1.1     ad 	{ "EDO RAM",		0x03 },
    325      1.1     ad 	{ "SDRAM",		0x04 },
    326      1.1     ad 	{ NULL,			0 },
    327      1.1     ad 	{ "unknown memory",	0 }
    328      1.1     ad };
    329      1.1     ad 
    330      1.1     ad static const struct mly_code_lookup mly_table_cputype[] = {
    331      1.1     ad 	{ "i960CA",		0x01 },
    332      1.1     ad 	{ "i960RD",		0x02 },
    333      1.1     ad 	{ "i960RN",		0x03 },
    334      1.1     ad 	{ "i960RP",		0x04 },
    335      1.1     ad 	{ "NorthBay(?)",	0x05 },
    336      1.1     ad 	{ "StrongArm",		0x06 },
    337      1.1     ad 	{ "i960RM",		0x07 },
    338      1.1     ad 	{ NULL,			0 },
    339      1.1     ad 	{ "unknown CPU",	0 }
    340      1.1     ad };
    341      1.1     ad 
    342      1.1     ad static const struct mly_code_lookup mly_table_stripe_size[] = {
    343      1.1     ad 	{ "NONE",		MLY_STRIPE_ZERO },
    344      1.1     ad 	{ "512B",		MLY_STRIPE_512b },
    345      1.1     ad 	{ "1k",			MLY_STRIPE_1k },
    346      1.1     ad 	{ "2k",			MLY_STRIPE_2k },
    347      1.1     ad 	{ "4k",			MLY_STRIPE_4k },
    348      1.1     ad 	{ "8k",			MLY_STRIPE_8k },
    349      1.1     ad 	{ "16k",		MLY_STRIPE_16k },
    350      1.1     ad 	{ "32k",		MLY_STRIPE_32k },
    351      1.1     ad 	{ "64k",		MLY_STRIPE_64k },
    352      1.1     ad 	{ "128k",		MLY_STRIPE_128k },
    353      1.1     ad 	{ "256k",		MLY_STRIPE_256k },
    354      1.1     ad 	{ "512k",		MLY_STRIPE_512k },
    355      1.1     ad 	{ "1M",			MLY_STRIPE_1m },
    356      1.1     ad 	{ NULL,			0 },
    357      1.1     ad 	{ "unknown",		0 }
    358      1.1     ad };
    359      1.1     ad 
    360      1.1     ad static const struct mly_code_lookup mly_table_cacheline_size[] = {
    361      1.1     ad 	{ "NONE",		MLY_CACHELINE_ZERO },
    362      1.1     ad 	{ "512B",		MLY_CACHELINE_512b },
    363      1.1     ad 	{ "1k",			MLY_CACHELINE_1k },
    364      1.1     ad 	{ "2k",			MLY_CACHELINE_2k },
    365      1.1     ad 	{ "4k",			MLY_CACHELINE_4k },
    366      1.1     ad 	{ "8k",			MLY_CACHELINE_8k },
    367      1.1     ad 	{ "16k",		MLY_CACHELINE_16k },
    368      1.1     ad 	{ "32k",		MLY_CACHELINE_32k },
    369      1.1     ad 	{ "64k",		MLY_CACHELINE_64k },
    370      1.1     ad 	{ NULL,			0 },
    371      1.1     ad 	{ "unknown",		0 }
    372      1.1     ad };
    373      1.1     ad #endif	/* notused */
    374      1.1     ad 
    375      1.1     ad #endif	/* !defined _PCI_MLY_TABLES_H_ */
    376