aac_tables.h revision 206555
1258070Spjd/*- 2258070Spjd * Copyright (c) 2000 Michael Smith 3258070Spjd * Copyright (c) 2000 BSDi 4258070Spjd * All rights reserved. 5258070Spjd * 6258070Spjd * Redistribution and use in source and binary forms, with or without 7258070Spjd * modification, are permitted provided that the following conditions 8258070Spjd * are met: 9258070Spjd * 1. Redistributions of source code must retain the above copyright 10258070Spjd * notice, this list of conditions and the following disclaimer. 11258070Spjd * 2. Redistributions in binary form must reproduce the above copyright 12258070Spjd * notice, this list of conditions and the following disclaimer in the 13258070Spjd * documentation and/or other materials provided with the distribution. 14258070Spjd * 15258070Spjd * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16258070Spjd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17258070Spjd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18258070Spjd * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19258070Spjd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20258070Spjd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21258070Spjd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22258070Spjd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23258070Spjd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24258070Spjd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25258070Spjd * SUCH DAMAGE. 26258070Spjd * 27258070Spjd * $FreeBSD: head/sys/dev/aac/aac_tables.h 206555 2010-04-13 12:10:55Z emaste $ 28258070Spjd */ 29258070Spjd 30258070Spjd/* 31285063Soshogbo * Status codes for block read/write commands, etc. 32258070Spjd * 33258070Spjd * XXX many of these would not normally be returned, as they are 34258070Spjd * relevant only to FSA operations. 35258070Spjd */ 36258070Spjdstatic struct aac_code_lookup aac_command_status_table[] = { 37258070Spjd {"OK", ST_OK}, 38258070Spjd {"operation not permitted", ST_PERM}, 39258070Spjd {"not found", ST_NOENT}, 40258070Spjd {"I/O error", ST_IO}, 41258070Spjd {"device not configured", ST_NXIO}, 42258070Spjd {"too big", ST_E2BIG}, 43258070Spjd {"permission denied", ST_ACCES}, 44258070Spjd {"file exists", ST_EXIST}, 45258070Spjd {"cross-device link", ST_XDEV}, 46258070Spjd {"operation not supported by device", ST_NODEV}, 47258070Spjd {"not a directory", ST_NOTDIR}, 48258070Spjd {"is a directory", ST_ISDIR}, 49258070Spjd {"invalid argument", ST_INVAL}, 50258070Spjd {"file too large", ST_FBIG}, 51258070Spjd {"no space on device", ST_NOSPC}, 52258070Spjd {"readonly filesystem", ST_ROFS}, 53258070Spjd {"too many links", ST_MLINK}, 54258070Spjd {"operation would block", ST_WOULDBLOCK}, 55258070Spjd {"file name too long", ST_NAMETOOLONG}, 56258070Spjd {"directory not empty", ST_NOTEMPTY}, 57258070Spjd {"quota exceeded", ST_DQUOT}, 58258070Spjd {"stale file handle", ST_STALE}, 59258070Spjd {"too many levels of remote in path", ST_REMOTE}, 60258070Spjd {"device busy (spinning up)", ST_NOT_READY}, 61258070Spjd {"bad file handle", ST_BADHANDLE}, 62258070Spjd {"not sync", ST_NOT_SYNC}, 63258070Spjd {"bad cookie", ST_BAD_COOKIE}, 64258070Spjd {"operation not supported", ST_NOTSUPP}, 65258070Spjd {"too small", ST_TOOSMALL}, 66258070Spjd {"server fault", ST_SERVERFAULT}, 67258070Spjd {"bad type", ST_BADTYPE}, 68258070Spjd {"jukebox", ST_JUKEBOX}, 69258070Spjd {"not mounted", ST_NOTMOUNTED}, 70258070Spjd {"in maintenance mode", ST_MAINTMODE}, 71258070Spjd {"stale ACL", ST_STALEACL}, 72258070Spjd {"bus reset - command aborted", ST_BUS_RESET}, 73258070Spjd {NULL, 0}, 74258070Spjd {"unknown command status", 0} 75258070Spjd}; 76258070Spjd 77258070Spjd#define AAC_COMMAND_STATUS(x) aac_describe_code(aac_command_status_table, x) 78258070Spjd 79258070Spjdstatic struct aac_code_lookup aac_cpu_variant[] = { 80258070Spjd {"i960JX", CPUI960_JX}, 81258070Spjd {"i960CX", CPUI960_CX}, 82258070Spjd {"i960HX", CPUI960_HX}, 83258070Spjd {"i960RX", CPUI960_RX}, 84258070Spjd {"i960 80303", CPUI960_80303}, 85258070Spjd {"StrongARM SA110", CPUARM_SA110}, 86258070Spjd {"PPC603e", CPUPPC_603e}, 87258070Spjd {"XScale 80321", CPU_XSCALE_80321}, 88258070Spjd {"MIPS 4KC", CPU_MIPS_4KC}, 89258070Spjd {"MIPS 5KC", CPU_MIPS_5KC}, 90258070Spjd {"Unknown StrongARM", CPUARM_xxx}, 91258070Spjd {"Unknown PowerPC", CPUPPC_xxx}, 92258070Spjd {NULL, 0}, 93258070Spjd {"Unknown processor", 0} 94258070Spjd}; 95258070Spjd 96258070Spjdstatic struct aac_code_lookup aac_battery_platform[] = { 97258070Spjd {"required battery present", PLATFORM_BAT_REQ_PRESENT}, 98258070Spjd {"REQUIRED BATTERY NOT PRESENT", PLATFORM_BAT_REQ_NOTPRESENT}, 99258070Spjd {"optional battery present", PLATFORM_BAT_OPT_PRESENT}, 100258070Spjd {"optional battery not installed", PLATFORM_BAT_OPT_NOTPRESENT}, 101258070Spjd {"no battery support", PLATFORM_BAT_NOT_SUPPORTED}, 102258070Spjd {NULL, 0}, 103258070Spjd {"unknown battery platform", 0} 104258070Spjd}; 105258070Spjd 106258070Spjdstatic struct aac_code_lookup aac_container_types[] = { 107258070Spjd {"Volume", CT_VOLUME}, 108258070Spjd {"RAID 1 (Mirror)", CT_MIRROR}, 109258070Spjd {"RAID 0 (Stripe)", CT_STRIPE}, 110258070Spjd {"RAID 5", CT_RAID5}, 111258070Spjd {"SSRW", CT_SSRW}, 112258070Spjd {"SSRO", CT_SSRO}, 113258070Spjd {"Morph", CT_MORPH}, 114258070Spjd {"Passthrough", CT_PASSTHRU}, 115258070Spjd {"RAID 4", CT_RAID4}, 116258070Spjd {"RAID 0/1", CT_RAID10}, 117258070Spjd {"RAID 0/0", CT_RAID00}, 118258070Spjd {"Volume of Mirrors", CT_VOLUME_OF_MIRRORS}, 119258070Spjd {"Pseudo RAID 3", CT_PSEUDO_RAID3}, 120258070Spjd {"RAID 0/5", CT_RAID50}, 121258070Spjd {"RAID 5D", CT_RAID5D}, 122258070Spjd {"RAID 0/5D", CT_RAID5D0}, 123258070Spjd {"RAID 1E", CT_RAID1E}, 124258070Spjd {"RAID 6", CT_RAID6}, 125258070Spjd {"RAID 0/6", CT_RAID60}, 126258070Spjd {NULL, 0}, 127258070Spjd {"unknown", 0} 128258070Spjd}; 129258070Spjd 130258070Spjd