/* * This file is part of the Harvey operating system. It is subject to the * license terms of the GNU GPL v2 in LICENSE.gpl found in the top-level * directory of this distribution and at http://www.gnu.org/licenses/gpl-2.0.txt * * No part of Harvey operating system, including this file, may be copied, * modified, propagated, or distributed except according to the terms * contained in the LICENSE.gpl file. */ typedef struct Ureg { uint64_t x0; uint64_t x1; uint64_t x2; uint64_t x3; uint64_t x4; uint64_t x5; uint64_t x6; uint64_t x7; uint64_t x8; uint64_t x9; uint64_t x10; uint64_t x11; uint64_t x12; uint64_t x13; uint64_t x14; uint64_t x15; union { uint64_t x16; uint64_t ip0; }; union { uint64_t x17; uint64_t ip1; }; uint64_t x18; uint64_t x19; uint64_t x20; uint64_t x21; uint64_t x22; uint64_t x23; uint64_t x24; uint64_t x25; uint64_t x26; uint64_t x27; uint64_t x28; union { uint64_t x29; uint64_t fp; }; union { uint64_t x30; uint64_t lr; }; uint64_t sp; uint64_t type; // of exception uint64_t psr; uint64_t pc; // interrupted addr } Ureg;