1dacfdf3bSWarner Losh /* 2dacfdf3bSWarner Losh * arm VM parameters definitions 3dacfdf3bSWarner Losh * 4dacfdf3bSWarner Losh * Copyright (c) 2013 Stacey D. Son 5dacfdf3bSWarner Losh * 6dacfdf3bSWarner Losh * This program is free software; you can redistribute it and/or modify 7dacfdf3bSWarner Losh * it under the terms of the GNU General Public License as published by 8dacfdf3bSWarner Losh * the Free Software Foundation; either version 2 of the License, or 9dacfdf3bSWarner Losh * (at your option) any later version. 10dacfdf3bSWarner Losh * 11dacfdf3bSWarner Losh * This program is distributed in the hope that it will be useful, 12dacfdf3bSWarner Losh * but WITHOUT ANY WARRANTY; without even the implied warranty of 13dacfdf3bSWarner Losh * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14dacfdf3bSWarner Losh * GNU General Public License for more details. 15dacfdf3bSWarner Losh * 16dacfdf3bSWarner Losh * You should have received a copy of the GNU General Public License 17dacfdf3bSWarner Losh * along with this program; if not, see <http://www.gnu.org/licenses/>. 18dacfdf3bSWarner Losh */ 19*9c092804SMarkus Armbruster 20*9c092804SMarkus Armbruster #ifndef TARGET_ARCH_VMPARAM_H 21*9c092804SMarkus Armbruster #define TARGET_ARCH_VMPARAM_H 22dacfdf3bSWarner Losh 23dacfdf3bSWarner Losh #include "cpu.h" 24dacfdf3bSWarner Losh 25dacfdf3bSWarner Losh /* compare to sys/arm/include/vmparam.h */ 26dacfdf3bSWarner Losh #define TARGET_MAXTSIZ (64 * MiB) /* max text size */ 27dacfdf3bSWarner Losh #define TARGET_DFLDSIZ (128 * MiB) /* initial data size limit */ 28dacfdf3bSWarner Losh #define TARGET_MAXDSIZ (512 * MiB) /* max data size */ 29dacfdf3bSWarner Losh #define TARGET_DFLSSIZ (4 * MiB) /* initial stack size limit */ 30dacfdf3bSWarner Losh #define TARGET_MAXSSIZ (64 * MiB) /* max stack size */ 31dacfdf3bSWarner Losh #define TARGET_SGROWSIZ (128 * KiB) /* amount to grow stack */ 32dacfdf3bSWarner Losh 33dacfdf3bSWarner Losh #define TARGET_RESERVED_VA 0xf7000000 34dacfdf3bSWarner Losh 35dacfdf3bSWarner Losh /* KERNBASE - 512 MB */ 36dacfdf3bSWarner Losh #define TARGET_VM_MAXUSER_ADDRESS (0xc0000000 - (512 * MiB)) 37dacfdf3bSWarner Losh #define TARGET_USRSTACK TARGET_VM_MAXUSER_ADDRESS 38dacfdf3bSWarner Losh get_sp_from_cpustate(CPUARMState * state)39dacfdf3bSWarner Loshstatic inline abi_ulong get_sp_from_cpustate(CPUARMState *state) 40dacfdf3bSWarner Losh { 41dacfdf3bSWarner Losh return state->regs[13]; /* sp */ 42dacfdf3bSWarner Losh } 43dacfdf3bSWarner Losh set_second_rval(CPUARMState * state,abi_ulong retval2)44dacfdf3bSWarner Loshstatic inline void set_second_rval(CPUARMState *state, abi_ulong retval2) 45dacfdf3bSWarner Losh { 46dacfdf3bSWarner Losh state->regs[1] = retval2; 47dacfdf3bSWarner Losh } 48dacfdf3bSWarner Losh 49*9c092804SMarkus Armbruster #endif /* TARGET_ARCH_VMPARAM_H */ 50