aux_vector.hh revision 11854
111854Sbrandon.potter@amd.com/*
211854Sbrandon.potter@amd.com * Copyright (c) 2016 Advanced Micro Devices, Inc.
311854Sbrandon.potter@amd.com * All rights reserved.
411854Sbrandon.potter@amd.com *
511854Sbrandon.potter@amd.com * For use for simulation and test purposes only
611854Sbrandon.potter@amd.com *
711854Sbrandon.potter@amd.com * Redistribution and use in source and binary forms, with or without
811854Sbrandon.potter@amd.com * modification, are permitted provided that the following conditions are met:
911854Sbrandon.potter@amd.com *
1011854Sbrandon.potter@amd.com * 1. Redistributions of source code must retain the above copyright notice,
1111854Sbrandon.potter@amd.com * this list of conditions and the following disclaimer.
1211854Sbrandon.potter@amd.com *
1311854Sbrandon.potter@amd.com * 2. Redistributions in binary form must reproduce the above copyright notice,
1411854Sbrandon.potter@amd.com * this list of conditions and the following disclaimer in the documentation
1511854Sbrandon.potter@amd.com * and/or other materials provided with the distribution.
1611854Sbrandon.potter@amd.com *
1711854Sbrandon.potter@amd.com * 3. Neither the name of the copyright holder nor the names of its
1811854Sbrandon.potter@amd.com * contributors may be used to endorse or promote products derived from this
1911854Sbrandon.potter@amd.com * software without specific prior written permission.
2011854Sbrandon.potter@amd.com *
2111854Sbrandon.potter@amd.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
2211854Sbrandon.potter@amd.com * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2311854Sbrandon.potter@amd.com * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2411854Sbrandon.potter@amd.com * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
2511854Sbrandon.potter@amd.com * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2611854Sbrandon.potter@amd.com * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2711854Sbrandon.potter@amd.com * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2811854Sbrandon.potter@amd.com * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2911854Sbrandon.potter@amd.com * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
3011854Sbrandon.potter@amd.com * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3111854Sbrandon.potter@amd.com * POSSIBILITY OF SUCH DAMAGE.
3211854Sbrandon.potter@amd.com *
3311854Sbrandon.potter@amd.com * Author: Brandon Potter
3411854Sbrandon.potter@amd.com */
3511854Sbrandon.potter@amd.com
3611854Sbrandon.potter@amd.com#ifndef __AUX_VECTOR_HH__
3711854Sbrandon.potter@amd.com#define __AUX_VECTOR_HH__
3811854Sbrandon.potter@amd.com
3911854Sbrandon.potter@amd.comtemplate<class IntType>
4011854Sbrandon.potter@amd.comstruct AuxVector
4111854Sbrandon.potter@amd.com{
4211854Sbrandon.potter@amd.com    IntType a_type;
4311854Sbrandon.potter@amd.com    IntType a_val;
4411854Sbrandon.potter@amd.com
4511854Sbrandon.potter@amd.com    AuxVector()
4611854Sbrandon.potter@amd.com    {}
4711854Sbrandon.potter@amd.com
4811854Sbrandon.potter@amd.com    AuxVector(IntType type, IntType val);
4911854Sbrandon.potter@amd.com};
5011854Sbrandon.potter@amd.com
5111854Sbrandon.potter@amd.comenum AuxiliaryVectorType {
5211854Sbrandon.potter@amd.com    M5_AT_NULL = 0,
5311854Sbrandon.potter@amd.com    M5_AT_IGNORE = 1,
5411854Sbrandon.potter@amd.com    M5_AT_EXECFD = 2,
5511854Sbrandon.potter@amd.com    M5_AT_PHDR = 3,
5611854Sbrandon.potter@amd.com    M5_AT_PHENT = 4,
5711854Sbrandon.potter@amd.com    M5_AT_PHNUM = 5,
5811854Sbrandon.potter@amd.com    M5_AT_PAGESZ = 6,
5911854Sbrandon.potter@amd.com    M5_AT_BASE = 7,
6011854Sbrandon.potter@amd.com    M5_AT_FLAGS = 8,
6111854Sbrandon.potter@amd.com    M5_AT_ENTRY = 9,
6211854Sbrandon.potter@amd.com    M5_AT_NOTELF = 10,
6311854Sbrandon.potter@amd.com    M5_AT_UID = 11,
6411854Sbrandon.potter@amd.com    M5_AT_EUID = 12,
6511854Sbrandon.potter@amd.com    M5_AT_GID = 13,
6611854Sbrandon.potter@amd.com    M5_AT_EGID = 14,
6711854Sbrandon.potter@amd.com    M5_AT_PLATFORM = 15,
6811854Sbrandon.potter@amd.com    M5_AT_HWCAP = 16,
6911854Sbrandon.potter@amd.com    M5_AT_CLKTCK = 17,
7011854Sbrandon.potter@amd.com    M5_AT_SECURE = 23,
7111854Sbrandon.potter@amd.com    M5_BASE_PLATFORM = 24,
7211854Sbrandon.potter@amd.com    M5_AT_RANDOM = 25,
7311854Sbrandon.potter@amd.com    M5_AT_EXECFN = 31,
7411854Sbrandon.potter@amd.com    M5_AT_VECTOR_SIZE = 44
7511854Sbrandon.potter@amd.com};
7611854Sbrandon.potter@amd.com
7711854Sbrandon.potter@amd.com#endif // __AUX_VECTOR_HH__
78