mirror of https://github.com/xemu-project/xemu.git
bsd-user: introduce target.h
Create target.h. This file is intended to be simple and describe basic things about the architecture. If something is a basic feature of the architecture, it belongs here. Should we need something that's per-BSD there will be a target-os.h that will live in the per-bsd directories. Define regpairs_aligned to reflect whether or not registers are 'paired' for 64-bit arguments or not. This will be false for all 64-bit targets, and will be true on those architectures that pair (currently just armv7 and powerpc on FreeBSD 14.x). Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Kyle Evans <kevans@FreeBSD.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
c5c84d1651
commit
647afdf183
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Intel general target stuff that's common to all i386 details
|
||||
*
|
||||
* Copyright (c) 2022 M. Warner Losh <imp@bsdimp.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef TARGET_H
|
||||
#define TARGET_H
|
||||
|
||||
/*
|
||||
* arm EABI 'lumps' the registers for 64-bit args.
|
||||
*/
|
||||
static inline bool regpairs_aligned(void *cpu_env)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif /* ! TARGET_H */
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Intel general target stuff that's common to all i386 details
|
||||
*
|
||||
* Copyright (c) 2022 M. Warner Losh <imp@bsdimp.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef TARGET_ARCH_H
|
||||
#define TARGET_ARCH_H
|
||||
|
||||
/*
|
||||
* i386 doesn't 'lump' the registers for 64-bit args.
|
||||
*/
|
||||
static inline bool regpairs_aligned(void *cpu_env)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif /* ! TARGET_ARCH_H */
|
||||
|
|
@ -35,6 +35,7 @@ extern char **environ;
|
|||
#include "target_syscall.h"
|
||||
#include "target_os_vmparam.h"
|
||||
#include "target_os_signal.h"
|
||||
#include "target.h"
|
||||
#include "exec/gdbstub.h"
|
||||
|
||||
/*
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Intel general target stuff that's common to all x86_64 details
|
||||
*
|
||||
* Copyright (c) 2022 M. Warner Losh <imp@bsdimp.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef TARGET_H
|
||||
#define TARGET_H
|
||||
|
||||
/*
|
||||
* x86 doesn't 'lump' the registers for 64-bit args, all args are 64 bits.
|
||||
*/
|
||||
static inline bool regpairs_aligned(void *cpu_env)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif /* ! TARGET_H */
|
||||
|
Loading…
Reference in New Issue