xref: /dflybsd-src/sys/dev/raid/mly/mly_tables.h (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino /*-
286d7f5d3SJohn Marino  * Copyright (c) 2000 Michael Smith
386d7f5d3SJohn Marino  * Copyright (c) 2000 BSDi
486d7f5d3SJohn Marino  * All rights reserved.
586d7f5d3SJohn Marino  *
686d7f5d3SJohn Marino  * Redistribution and use in source and binary forms, with or without
786d7f5d3SJohn Marino  * modification, are permitted provided that the following conditions
886d7f5d3SJohn Marino  * are met:
986d7f5d3SJohn Marino  * 1. Redistributions of source code must retain the above copyright
1086d7f5d3SJohn Marino  *    notice, this list of conditions and the following disclaimer.
1186d7f5d3SJohn Marino  * 2. Redistributions in binary form must reproduce the above copyright
1286d7f5d3SJohn Marino  *    notice, this list of conditions and the following disclaimer in the
1386d7f5d3SJohn Marino  *    documentation and/or other materials provided with the distribution.
1486d7f5d3SJohn Marino  *
1586d7f5d3SJohn Marino  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1686d7f5d3SJohn Marino  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1786d7f5d3SJohn Marino  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1886d7f5d3SJohn Marino  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1986d7f5d3SJohn Marino  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2086d7f5d3SJohn Marino  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2186d7f5d3SJohn Marino  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2286d7f5d3SJohn Marino  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2386d7f5d3SJohn Marino  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2486d7f5d3SJohn Marino  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2586d7f5d3SJohn Marino  * SUCH DAMAGE.
2686d7f5d3SJohn Marino  *
2786d7f5d3SJohn Marino  *	$FreeBSD: src/sys/dev/mly/mly_tables.h,v 1.3 2002/02/27 23:57:18 peter Exp $
2886d7f5d3SJohn Marino  */
2986d7f5d3SJohn Marino 
3086d7f5d3SJohn Marino /*
3186d7f5d3SJohn Marino  * Lookup table for code-to-text translations.
3286d7f5d3SJohn Marino  */
3386d7f5d3SJohn Marino struct mly_code_lookup {
3486d7f5d3SJohn Marino     char	*string;
3586d7f5d3SJohn Marino     u_int32_t	code;
3686d7f5d3SJohn Marino };
3786d7f5d3SJohn Marino 
3886d7f5d3SJohn Marino static char	*mly_describe_code(struct mly_code_lookup *table, u_int32_t code);
3986d7f5d3SJohn Marino 
4086d7f5d3SJohn Marino /********************************************************************************
4186d7f5d3SJohn Marino  * Look up a text description of a numeric code and return a pointer to same.
4286d7f5d3SJohn Marino  */
4386d7f5d3SJohn Marino static char *
mly_describe_code(struct mly_code_lookup * table,u_int32_t code)4486d7f5d3SJohn Marino mly_describe_code(struct mly_code_lookup *table, u_int32_t code)
4586d7f5d3SJohn Marino {
4686d7f5d3SJohn Marino     int		i;
4786d7f5d3SJohn Marino 
4886d7f5d3SJohn Marino     for (i = 0; table[i].string != NULL; i++)
4986d7f5d3SJohn Marino 	if (table[i].code == code)
5086d7f5d3SJohn Marino 	    return(table[i].string);
5186d7f5d3SJohn Marino     return(table[i+1].string);
5286d7f5d3SJohn Marino }
5386d7f5d3SJohn Marino 
5486d7f5d3SJohn Marino #if 0
5586d7f5d3SJohn Marino static struct mly_code_lookup mly_table_bustype[] = {
5686d7f5d3SJohn Marino     {"SCSI",		0x00},
5786d7f5d3SJohn Marino     {"FC-AL",		0x01},
5886d7f5d3SJohn Marino     {"PCI",		0x03},
5986d7f5d3SJohn Marino     {NULL,		0},
6086d7f5d3SJohn Marino     {"unknown bus",	0}
6186d7f5d3SJohn Marino };
6286d7f5d3SJohn Marino #endif
6386d7f5d3SJohn Marino 
6486d7f5d3SJohn Marino static struct mly_code_lookup mly_table_controllertype[] = {
6586d7f5d3SJohn Marino #if 0	/* not supported by this driver */
6686d7f5d3SJohn Marino     {"DAC960E",		0x01},	/* EISA */
6786d7f5d3SJohn Marino     {"DAC960M",		0x08},	/* MCA */
6886d7f5d3SJohn Marino     {"DAC960PD",	0x10},	/* PCI Dual */
6986d7f5d3SJohn Marino     {"DAC960PL",	0x11},	/* PCU low-cost */
7086d7f5d3SJohn Marino     {"DAC960PDU",	0x12},	/* PD Ultra */
7186d7f5d3SJohn Marino     {"DAC960PE",	0x13},	/* Peregrine low-cost */
7286d7f5d3SJohn Marino     {"DAC960PG",	0x14},	/* Peregrine high-performance */
7386d7f5d3SJohn Marino     {"DAC960PJ",	0x15},	/* Road Runner */
7486d7f5d3SJohn Marino     {"DAC960PTL0",	0x16},	/* Jaguar */
7586d7f5d3SJohn Marino     {"DAC960PR",	0x17},	/* Road Runner (again?) */
7686d7f5d3SJohn Marino     {"DAC960PRL",	0x18},	/* Tomcat */
7786d7f5d3SJohn Marino     {"DAC960PT",	0x19},	/* Road Runner (yet again?) */
7886d7f5d3SJohn Marino     {"DAC1164P",	0x1a},	/* Little Apple */
7986d7f5d3SJohn Marino     {"DAC960PTL1",	0x1b},	/* Jaguar+ */
8086d7f5d3SJohn Marino #endif
8186d7f5d3SJohn Marino     {"EXR2000P",	0x1c},	/* Big Apple */
8286d7f5d3SJohn Marino     {"EXR3000P",	0x1d},	/* Fibre Apple */
8386d7f5d3SJohn Marino     {"AcceleRAID 352",	0x1e},	/* Leopard */
8486d7f5d3SJohn Marino     {"AcceleRAID 170",	0x1f},	/* Lynx */
8586d7f5d3SJohn Marino     {"AcceleRAID 160",	0x20},	/* Bobcat */
8686d7f5d3SJohn Marino     {NULL,		0},
8786d7f5d3SJohn Marino     {"unknown adapter",	0}
8886d7f5d3SJohn Marino };
8986d7f5d3SJohn Marino 
9086d7f5d3SJohn Marino static struct mly_code_lookup mly_table_oemname[] = {
9186d7f5d3SJohn Marino     {"Mylex",		MLY_OEM_MYLEX},
9286d7f5d3SJohn Marino     {"IBM",		MLY_OEM_IBM},
9386d7f5d3SJohn Marino     {"Hewlett-Packard",	MLY_OEM_HP},
9486d7f5d3SJohn Marino     {"DEC/Compaq",	MLY_OEM_DEC},
9586d7f5d3SJohn Marino     {"Siemens",		MLY_OEM_SIEMENS},
9686d7f5d3SJohn Marino     {"Intel",		MLY_OEM_INTEL},
9786d7f5d3SJohn Marino     {NULL,		0},
9886d7f5d3SJohn Marino     {"unknown OEM",	0}
9986d7f5d3SJohn Marino };
10086d7f5d3SJohn Marino 
10186d7f5d3SJohn Marino static struct mly_code_lookup mly_table_memorytype[] = {
10286d7f5d3SJohn Marino     {"DRAM",		0x01},
10386d7f5d3SJohn Marino     {"EDRAM",		0x02},
10486d7f5d3SJohn Marino     {"EDO RAM",		0x03},
10586d7f5d3SJohn Marino     {"SDRAM",		0x04},
10686d7f5d3SJohn Marino     {NULL,		0},
10786d7f5d3SJohn Marino     {"unknown memory",	0}
10886d7f5d3SJohn Marino };
10986d7f5d3SJohn Marino 
11086d7f5d3SJohn Marino static struct mly_code_lookup mly_table_cputype[] = {
11186d7f5d3SJohn Marino     {"i960CA",		0x01},
11286d7f5d3SJohn Marino     {"i960RD",		0x02},
11386d7f5d3SJohn Marino     {"i960RN",		0x03},
11486d7f5d3SJohn Marino     {"i960RP",		0x04},
11586d7f5d3SJohn Marino     {"NorthBay(?)",	0x05},
11686d7f5d3SJohn Marino     {"StrongArm",	0x06},
11786d7f5d3SJohn Marino     {"i960RM",		0x07},
11886d7f5d3SJohn Marino     {NULL,		0},
11986d7f5d3SJohn Marino     {"unknown CPU",	0}
12086d7f5d3SJohn Marino };
12186d7f5d3SJohn Marino 
12286d7f5d3SJohn Marino /*
12386d7f5d3SJohn Marino  * This table is directly derived from the corresponding table in the
12486d7f5d3SJohn Marino  * Linux driver, and uses a derivative encoding for simplicity's sake.
12586d7f5d3SJohn Marino  *
12686d7f5d3SJohn Marino  * The first character of the string determines the format of the message.
12786d7f5d3SJohn Marino  *
12886d7f5d3SJohn Marino  * p  "physical device <channel>:<target> <text>"	(physical device status)
12986d7f5d3SJohn Marino  * s  "physical device <channel>:<target> <text>"	(scsi message or error)
13086d7f5d3SJohn Marino  *    "  sense key <key>  asc <asc>  ascq <ascq>"
13186d7f5d3SJohn Marino  *    "  info <info>   csi <csi>"
13286d7f5d3SJohn Marino  * l  "logical drive <unit>: <text>"			(logical device status)
13386d7f5d3SJohn Marino  * m  "logical drive <unit>: <text>"			(logical device message)
13486d7f5d3SJohn Marino  *
13586d7f5d3SJohn Marino  * Messages which are typically suppressed have the first character capitalised.
13686d7f5d3SJohn Marino  * These messages will only be printed if bootverbose is set.
13786d7f5d3SJohn Marino  *
13886d7f5d3SJohn Marino  * The second character in the string indicates an action to be taken as a
13986d7f5d3SJohn Marino  * result of the event.
14086d7f5d3SJohn Marino  *
14186d7f5d3SJohn Marino  * r	rescan the device for possible state change
14286d7f5d3SJohn Marino  *
14386d7f5d3SJohn Marino  */
14486d7f5d3SJohn Marino static struct mly_code_lookup mly_table_event[] = {
14586d7f5d3SJohn Marino     /* physical device events (0x0000 - 0x007f) */
14686d7f5d3SJohn Marino     {"pr online",							0x0001},
14786d7f5d3SJohn Marino     {"pr standby",							0x0002},
14886d7f5d3SJohn Marino     {"p  automatic rebuild started",					0x0005},
14986d7f5d3SJohn Marino     {"p  manual rebuild started",					0x0006},
15086d7f5d3SJohn Marino     {"pr rebuild completed",						0x0007},
15186d7f5d3SJohn Marino     {"pr rebuild cancelled",						0x0008},
15286d7f5d3SJohn Marino     {"pr rebuild failed for unknown reasons",				0x0009},
15386d7f5d3SJohn Marino     {"pr rebuild failed due to new physical device",			0x000a},
15486d7f5d3SJohn Marino     {"pr rebuild failed due to logical drive failure",			0x000b},
15586d7f5d3SJohn Marino     {"sr offline",							0x000c},
15686d7f5d3SJohn Marino     {"pr found",							0x000d},
15786d7f5d3SJohn Marino     {"pr gone",								0x000e},
15886d7f5d3SJohn Marino     {"p  unconfigured",							0x000f},
15986d7f5d3SJohn Marino     {"p  expand capacity started",					0x0010},
16086d7f5d3SJohn Marino     {"pr expand capacity completed",					0x0011},
16186d7f5d3SJohn Marino     {"pr expand capacity failed",					0x0012},
16286d7f5d3SJohn Marino     {"p  parity error",							0x0016},
16386d7f5d3SJohn Marino     {"p  soft error",							0x0017},
16486d7f5d3SJohn Marino     {"p  miscellaneous error",						0x0018},
16586d7f5d3SJohn Marino     {"p  reset",							0x0019},
16686d7f5d3SJohn Marino     {"p  active spare found",						0x001a},
16786d7f5d3SJohn Marino     {"p  warm spare found",						0x001b},
16886d7f5d3SJohn Marino     {"s  sense data received",						0x001c},
16986d7f5d3SJohn Marino     {"p  initialization started",					0x001d},
17086d7f5d3SJohn Marino     {"pr initialization completed",					0x001e},
17186d7f5d3SJohn Marino     {"pr initialization failed",					0x001f},
17286d7f5d3SJohn Marino     {"pr initialization cancelled",					0x0020},
17386d7f5d3SJohn Marino     {"P  write recovery failed",					0x0021},
17486d7f5d3SJohn Marino     {"p  scsi bus reset failed",					0x0022},
17586d7f5d3SJohn Marino     {"p  double check condition",					0x0023},
17686d7f5d3SJohn Marino     {"p  device cannot be accessed",					0x0024},
17786d7f5d3SJohn Marino     {"p  gross error on scsi processor",				0x0025},
17886d7f5d3SJohn Marino     {"p  bad tag from device",						0x0026},
17986d7f5d3SJohn Marino     {"p  command timeout",						0x0027},
18086d7f5d3SJohn Marino     {"pr system reset",							0x0028},
18186d7f5d3SJohn Marino     {"p  busy status or parity error",					0x0029},
18286d7f5d3SJohn Marino     {"pr host set device to failed state",				0x002a},
18386d7f5d3SJohn Marino     {"pr selection timeout",						0x002b},
18486d7f5d3SJohn Marino     {"p  scsi bus phase error",						0x002c},
18586d7f5d3SJohn Marino     {"pr device returned unknown status",				0x002d},
18686d7f5d3SJohn Marino     {"pr device not ready",						0x002e},
18786d7f5d3SJohn Marino     {"p  device not found at startup",					0x002f},
18886d7f5d3SJohn Marino     {"p  COD write operation failed",					0x0030},
18986d7f5d3SJohn Marino     {"p  BDT write operation failed",					0x0031},
19086d7f5d3SJohn Marino     {"p  missing at startup",						0x0039},
19186d7f5d3SJohn Marino     {"p  start rebuild failed due to physical drive too small",		0x003a},
19286d7f5d3SJohn Marino     /* logical device events (0x0080 - 0x00ff) */
19386d7f5d3SJohn Marino     {"m  consistency check started",					0x0080},
19486d7f5d3SJohn Marino     {"mr consistency check completed",					0x0081},
19586d7f5d3SJohn Marino     {"mr consistency check cancelled",					0x0082},
19686d7f5d3SJohn Marino     {"mr consistency check completed with errors",			0x0083},
19786d7f5d3SJohn Marino     {"mr consistency check failed due to logical drive failure",	0x0084},
19886d7f5d3SJohn Marino     {"mr consistency check failed due to physical device failure",	0x0085},
19986d7f5d3SJohn Marino     {"lr offline",							0x0086},
20086d7f5d3SJohn Marino     {"lr critical",							0x0087},
20186d7f5d3SJohn Marino     {"lr online",							0x0088},
20286d7f5d3SJohn Marino     {"m  automatic rebuild started",					0x0089},
20386d7f5d3SJohn Marino     {"m  manual rebuild started",					0x008a},
20486d7f5d3SJohn Marino     {"mr rebuild completed",						0x008b},
20586d7f5d3SJohn Marino     {"mr rebuild cancelled",						0x008c},
20686d7f5d3SJohn Marino     {"mr rebuild failed for unknown reasons",				0x008d},
20786d7f5d3SJohn Marino     {"mr rebuild failed due to new physical device",			0x008e},
20886d7f5d3SJohn Marino     {"mr rebuild failed due to logical drive failure",			0x008f},
20986d7f5d3SJohn Marino     {"l  initialization started",					0x0090},
21086d7f5d3SJohn Marino     {"lr initialization completed",					0x0091},
21186d7f5d3SJohn Marino     {"lr initialization cancelled",					0x0092},
21286d7f5d3SJohn Marino     {"lr initialization failed",					0x0093},
21386d7f5d3SJohn Marino     {"lr found",							0x0094},
21486d7f5d3SJohn Marino     {"lr gone",								0x0095},
21586d7f5d3SJohn Marino     {"l  expand capacity started",					0x0096},
21686d7f5d3SJohn Marino     {"lr expand capacity completed",					0x0097},
21786d7f5d3SJohn Marino     {"lr expand capacity failed",					0x0098},
21886d7f5d3SJohn Marino     {"l  bad block found",						0x0099},
21986d7f5d3SJohn Marino     {"lr size changed",							0x009a},
22086d7f5d3SJohn Marino     {"lr type changed",							0x009b},
22186d7f5d3SJohn Marino     {"l  bad data block found",						0x009c},
22286d7f5d3SJohn Marino     {"l  read of data block in bdt",					0x009e},
22386d7f5d3SJohn Marino     {"l  write back data for disk block lost",				0x009f},
22486d7f5d3SJohn Marino     /* enclosure management events (0x0100 - 0x017f) */
22586d7f5d3SJohn Marino     {"e  enclosure %d fan %d failed",					0x0140},
22686d7f5d3SJohn Marino     {"e  enclosure %d fan %d ok",					0x0141},
22786d7f5d3SJohn Marino     {"e  enclosure %d fan %d not present",				0x0142},
22886d7f5d3SJohn Marino     {"e  enclosure %d power supply %d failed",				0x0143},
22986d7f5d3SJohn Marino     {"e  enclosure %d power supply %d ok",				0x0144},
23086d7f5d3SJohn Marino     {"e  enclosure %d power supply %d not present",			0x0145},
23186d7f5d3SJohn Marino     {"e  enclosure %d temperature sensor %d failed",			0x0146},
23286d7f5d3SJohn Marino     {"e  enclosure %d temperature sensor %d critical",			0x0147},
23386d7f5d3SJohn Marino     {"e  enclosure %d temperature sensor %d ok",			0x0148},
23486d7f5d3SJohn Marino     {"e  enclosure %d temperature sensor %d not present",		0x0149},
23586d7f5d3SJohn Marino     {"e  enclosure %d unit %d access critical",				0x014a},
23686d7f5d3SJohn Marino     {"e  enclosure %d unit %d access ok",				0x014b},
23786d7f5d3SJohn Marino     {"e  enclosure %d unit %d access offline",				0x014c},
23886d7f5d3SJohn Marino     /* controller events (0x0180 - 0x01ff) */
23986d7f5d3SJohn Marino     {"c  cache write back error",					0x0181},
24086d7f5d3SJohn Marino     {"c  battery backup unit found",					0x0188},
24186d7f5d3SJohn Marino     {"c  battery backup unit charge level low",				0x0189},
24286d7f5d3SJohn Marino     {"c  battery backup unit charge level ok",				0x018a},
24386d7f5d3SJohn Marino     {"c  installation aborted",						0x0193},
24486d7f5d3SJohn Marino     {"c  mirror race recovery in progress",				0x0195},
24586d7f5d3SJohn Marino     {"c  mirror race on critical drive",				0x0196},
24686d7f5d3SJohn Marino     {"c  memory soft ecc error",					0x019e},
24786d7f5d3SJohn Marino     {"c  memory hard ecc error",					0x019f},
24886d7f5d3SJohn Marino     {"c  battery backup unit failed",					0x01a2},
24986d7f5d3SJohn Marino     {NULL, 0},
25086d7f5d3SJohn Marino     {"?  unknown event code",						0}
25186d7f5d3SJohn Marino };
25286d7f5d3SJohn Marino 
25386d7f5d3SJohn Marino /*
25486d7f5d3SJohn Marino  * Values here must be 16 characters or less, as they are packed into
25586d7f5d3SJohn Marino  * the 'product' field in the SCSI inquiry data.
25686d7f5d3SJohn Marino  */
25786d7f5d3SJohn Marino static struct mly_code_lookup mly_table_device_state[] = {
25886d7f5d3SJohn Marino     {"offline",		MLY_DEVICE_STATE_OFFLINE},
25986d7f5d3SJohn Marino     {"unconfigured",	MLY_DEVICE_STATE_UNCONFIGURED},
26086d7f5d3SJohn Marino     {"online",		MLY_DEVICE_STATE_ONLINE},
26186d7f5d3SJohn Marino     {"critical",	MLY_DEVICE_STATE_CRITICAL},
26286d7f5d3SJohn Marino     {"writeonly",	MLY_DEVICE_STATE_WRITEONLY},
26386d7f5d3SJohn Marino     {"standby",		MLY_DEVICE_STATE_STANDBY},
26486d7f5d3SJohn Marino     {"missing",		MLY_DEVICE_STATE_MISSING},
26586d7f5d3SJohn Marino     {NULL, 0},
26686d7f5d3SJohn Marino     {"unknown state",	0}
26786d7f5d3SJohn Marino };
26886d7f5d3SJohn Marino 
26986d7f5d3SJohn Marino /*
27086d7f5d3SJohn Marino  * Values here must be 8 characters or less, as they are packed into
27186d7f5d3SJohn Marino  * the 'vendor' field in the SCSI inquiry data.
27286d7f5d3SJohn Marino  */
27386d7f5d3SJohn Marino static struct mly_code_lookup mly_table_device_type[] = {
27486d7f5d3SJohn Marino     {"MLYRAID0",	MLY_DEVICE_TYPE_RAID0},
27586d7f5d3SJohn Marino     {"MLYRAID1",	MLY_DEVICE_TYPE_RAID1},
27686d7f5d3SJohn Marino     {"MLYRAID3",	MLY_DEVICE_TYPE_RAID3},		/* right asymmetric parity */
27786d7f5d3SJohn Marino     {"MLYRAID5",	MLY_DEVICE_TYPE_RAID5},		/* right asymmetric parity */
27886d7f5d3SJohn Marino     {"MLYRAID6",	MLY_DEVICE_TYPE_RAID6},		/* Mylex RAID 6 */
27986d7f5d3SJohn Marino     {"MLYRAID7",	MLY_DEVICE_TYPE_RAID7},		/* JBOD */
28086d7f5d3SJohn Marino     {"MLY SPAN",	MLY_DEVICE_TYPE_NEWSPAN},	/* New Mylex SPAN */
28186d7f5d3SJohn Marino     {"MLYRAID3",	MLY_DEVICE_TYPE_RAID3F},	/* fixed parity */
28286d7f5d3SJohn Marino     {"MLYRAID3",	MLY_DEVICE_TYPE_RAID3L},	/* left symmetric parity */
28386d7f5d3SJohn Marino     {"MLY SPAN",	MLY_DEVICE_TYPE_SPAN},		/* current spanning implementation */
28486d7f5d3SJohn Marino     {"MLYRAID5",	MLY_DEVICE_TYPE_RAID5L},	/* left symmetric parity */
28586d7f5d3SJohn Marino     {"MLYRAIDE",	MLY_DEVICE_TYPE_RAIDE},		/* concatenation */
28686d7f5d3SJohn Marino     {"MLY PHYS",	MLY_DEVICE_TYPE_PHYSICAL},	/* physical device */
28786d7f5d3SJohn Marino     {NULL, 0},
28886d7f5d3SJohn Marino     {"MLY UNKN",	0}
28986d7f5d3SJohn Marino };
29086d7f5d3SJohn Marino 
29186d7f5d3SJohn Marino #if 0
29286d7f5d3SJohn Marino static struct mly_code_lookup mly_table_stripe_size[] = {
29386d7f5d3SJohn Marino     {"NONE",		MLY_STRIPE_ZERO},
29486d7f5d3SJohn Marino     {"512B",		MLY_STRIPE_512b},
29586d7f5d3SJohn Marino     {"1k",		MLY_STRIPE_1k},
29686d7f5d3SJohn Marino     {"2k",		MLY_STRIPE_2k},
29786d7f5d3SJohn Marino     {"4k",		MLY_STRIPE_4k},
29886d7f5d3SJohn Marino     {"8k",		MLY_STRIPE_8k},
29986d7f5d3SJohn Marino     {"16k",		MLY_STRIPE_16k},
30086d7f5d3SJohn Marino     {"32k",		MLY_STRIPE_32k},
30186d7f5d3SJohn Marino     {"64k",		MLY_STRIPE_64k},
30286d7f5d3SJohn Marino     {"128k",		MLY_STRIPE_128k},
30386d7f5d3SJohn Marino     {"256k",		MLY_STRIPE_256k},
30486d7f5d3SJohn Marino     {"512k",		MLY_STRIPE_512k},
30586d7f5d3SJohn Marino     {"1M",		MLY_STRIPE_1m},
30686d7f5d3SJohn Marino     {NULL, 0},
30786d7f5d3SJohn Marino     {"unknown",		0}
30886d7f5d3SJohn Marino };
30986d7f5d3SJohn Marino 
31086d7f5d3SJohn Marino static struct mly_code_lookup mly_table_cacheline_size[] = {
31186d7f5d3SJohn Marino     {"NONE",		MLY_CACHELINE_ZERO},
31286d7f5d3SJohn Marino     {"512B",		MLY_CACHELINE_512b},
31386d7f5d3SJohn Marino     {"1k",		MLY_CACHELINE_1k},
31486d7f5d3SJohn Marino     {"2k",		MLY_CACHELINE_2k},
31586d7f5d3SJohn Marino     {"4k",		MLY_CACHELINE_4k},
31686d7f5d3SJohn Marino     {"8k",		MLY_CACHELINE_8k},
31786d7f5d3SJohn Marino     {"16k",		MLY_CACHELINE_16k},
31886d7f5d3SJohn Marino     {"32k",		MLY_CACHELINE_32k},
31986d7f5d3SJohn Marino     {"64k",		MLY_CACHELINE_64k},
32086d7f5d3SJohn Marino     {NULL, 0},
32186d7f5d3SJohn Marino     {"unknown",		0}
32286d7f5d3SJohn Marino };
32386d7f5d3SJohn Marino #endif
324