Hexagon (linux-user/hexagon) Linux user emulation

Implementation of Linux user emulation for Hexagon
Some common files modified in addition to new files in linux-user/hexagon

Acked-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <1612763186-18161-31-git-send-email-tsimpson@quicinc.com>
[rth: Fix termbits.h on review by Laurent]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Taylor Simpson 2021-02-07 23:46:20 -06:00 committed by Richard Henderson
parent 8b453a2b2b
commit d2a56bd242
15 changed files with 1012 additions and 0 deletions

View file

@ -104,6 +104,14 @@
#define TARGET_IOC_WRITE 2U
#define TARGET_IOC_READ 1U
#elif defined(TARGET_HEXAGON)
#define TARGET_IOC_SIZEBITS 14
#define TARGET_IOC_NONE 0U
#define TARGET_IOC_WRITE 1U
#define TARGET_IOC_READ 2U
#else
#error unsupported CPU
#endif
@ -2253,6 +2261,31 @@ struct target_stat64 {
uint64_t st_ino;
};
#elif defined(TARGET_HEXAGON)
struct target_stat {
unsigned long long st_dev;
unsigned long long st_ino;
unsigned int st_mode;
unsigned int st_nlink;
unsigned int st_uid;
unsigned int st_gid;
unsigned long long st_rdev;
target_ulong __pad1;
long long st_size;
target_long st_blksize;
int __pad2;
long long st_blocks;
target_long target_st_atime;
target_long target_st_atime_nsec;
target_long target_st_mtime;
target_long target_st_mtime_nsec;
target_long target_st_ctime;
target_long target_st_ctime_nsec;
int __unused[2];
};
#else
#error unsupported CPU
#endif