diff mbox

[4/6,v4] linux-user: Support tilegx architecture in syscall

Message ID 54E9DB40.6000301@sunrus.com.cn
State New
Headers show

Commit Message

Chen Gang Feb. 22, 2015, 1:36 p.m. UTC
Add tilegx architecture in "syscall_defs.h", all related features (ioctrl,
and stat) are based on Linux kernel tilegx 64-bit implementation.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
 linux-user/syscall_defs.h | 38 ++++++++++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)

Comments

Andreas Färber Feb. 27, 2015, 5:40 p.m. UTC | #1
Am 22.02.2015 um 14:36 schrieb Chen Gang S:
> Add tilegx architecture in "syscall_defs.h", all related features (ioctrl,
> and stat) are based on Linux kernel tilegx 64-bit implementation.
> 
> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
> ---
>  linux-user/syscall_defs.h | 38 ++++++++++++++++++++++++++++++++++----
>  1 file changed, 34 insertions(+), 4 deletions(-)
> 
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 9ed6de8..a0d9d77 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
[...]
> @@ -2312,7 +2340,9 @@ struct target_flock {
>  struct target_flock64 {
>  	short  l_type;
>  	short  l_whence;
> -#if defined(TARGET_PPC) || defined(TARGET_X86_64) || defined(TARGET_MIPS) || defined(TARGET_SPARC) || defined(TARGET_HPPA) || defined (TARGET_MICROBLAZE)
> +#if defined(TARGET_PPC) || defined(TARGET_X86_64) || defined(TARGET_MIPS) || \
> +    defined(TARGET_SPARC) || defined(TARGET_HPPA) \
> +    || defined(TARGET_MICROBLAZE) || defined(TARGET_TILEGX)

Nit: You're inconsistent as to where you're placing ||.

Regards,
Andreas

>          int __pad;
>  #endif
>  	unsigned long long l_start;
>
Chen Gang Feb. 27, 2015, 11:10 p.m. UTC | #2
On 02/28/2015 01:40 AM, Andreas Färber wrote:
> Am 22.02.2015 um 14:36 schrieb Chen Gang S:
>> Add tilegx architecture in "syscall_defs.h", all related features (ioctrl,
>> and stat) are based on Linux kernel tilegx 64-bit implementation.
>>
>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>> ---
>>  linux-user/syscall_defs.h | 38 ++++++++++++++++++++++++++++++++++----
>>  1 file changed, 34 insertions(+), 4 deletions(-)
>>
>> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
>> index 9ed6de8..a0d9d77 100644
>> --- a/linux-user/syscall_defs.h
>> +++ b/linux-user/syscall_defs.h
> [...]
>> @@ -2312,7 +2340,9 @@ struct target_flock {
>>  struct target_flock64 {
>>  	short  l_type;
>>  	short  l_whence;
>> -#if defined(TARGET_PPC) || defined(TARGET_X86_64) || defined(TARGET_MIPS) || defined(TARGET_SPARC) || defined(TARGET_HPPA) || defined (TARGET_MICROBLAZE)
>> +#if defined(TARGET_PPC) || defined(TARGET_X86_64) || defined(TARGET_MIPS) || \
>> +    defined(TARGET_SPARC) || defined(TARGET_HPPA) \
>> +    || defined(TARGET_MICROBLAZE) || defined(TARGET_TILEGX)
> 
> Nit: You're inconsistent as to where you're placing ||.
> 

OK.
diff mbox

Patch

diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 9ed6de8..a0d9d77 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -64,8 +64,9 @@ 
 #endif
 
 #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SH4) \
-    || defined(TARGET_M68K) || defined(TARGET_CRIS) || defined(TARGET_UNICORE32) \
-    || defined(TARGET_S390X) || defined(TARGET_OPENRISC)
+    || defined(TARGET_M68K) || defined(TARGET_CRIS) \
+    || defined(TARGET_UNICORE32) || defined(TARGET_S390X) \
+    || defined(TARGET_OPENRISC) || defined(TARGET_TILEGX)
 
 #define TARGET_IOC_SIZEBITS	14
 #define TARGET_IOC_DIRBITS	2
@@ -365,7 +366,8 @@  int do_sigaction(int sig, const struct target_sigaction *act,
     || defined(TARGET_PPC) || defined(TARGET_MIPS) || defined(TARGET_SH4) \
     || defined(TARGET_M68K) || defined(TARGET_ALPHA) || defined(TARGET_CRIS) \
     || defined(TARGET_MICROBLAZE) || defined(TARGET_UNICORE32) \
-    || defined(TARGET_S390X) || defined(TARGET_OPENRISC)
+    || defined(TARGET_S390X) || defined(TARGET_OPENRISC) \
+    || defined(TARGET_TILEGX)
 
 #if defined(TARGET_SPARC)
 #define TARGET_SA_NOCLDSTOP    8u
@@ -1970,6 +1972,32 @@  struct target_stat64 {
     unsigned int __unused5;
 };
 
+#elif defined(TARGET_TILEGX)
+
+/* Copy from Linux kernel "uapi/asm-generic/stat.h" */
+struct target_stat {
+        abi_ulong st_dev;               /* Device.  */
+        abi_ulong st_ino;               /* File serial number.  */
+        unsigned int st_mode;           /* File mode.  */
+        unsigned int st_nlink;          /* Link count.  */
+        unsigned int st_uid;            /* User ID of the file's owner.  */
+        unsigned int st_gid;            /* Group ID of the file's group. */
+        abi_ulong st_rdev;              /* Device number, if device.  */
+        abi_ulong __pad1;
+        abi_long  st_size;              /* Size of file, in bytes.  */
+        int st_blksize;                 /* Optimal block size for I/O.  */
+        int __pad2;
+        abi_long st_blocks;             /* Number 512-byte blocks allocated. */
+        abi_long target_st_atime;       /* Time of last access.  */
+        abi_ulong target_st_atime_nsec;
+        abi_long target_st_mtime;       /* Time of last modification.  */
+        abi_ulong target_st_mtime_nsec;
+        abi_long target_st_ctime;       /* Time of last status change.  */
+        abi_ulong target_st_ctime_nsec;
+        unsigned int __unused4;
+        unsigned int __unused5;
+};
+
 #else
 #error unsupported CPU
 #endif
@@ -2312,7 +2340,9 @@  struct target_flock {
 struct target_flock64 {
 	short  l_type;
 	short  l_whence;
-#if defined(TARGET_PPC) || defined(TARGET_X86_64) || defined(TARGET_MIPS) || defined(TARGET_SPARC) || defined(TARGET_HPPA) || defined (TARGET_MICROBLAZE)
+#if defined(TARGET_PPC) || defined(TARGET_X86_64) || defined(TARGET_MIPS) || \
+    defined(TARGET_SPARC) || defined(TARGET_HPPA) \
+    || defined(TARGET_MICROBLAZE) || defined(TARGET_TILEGX)
         int __pad;
 #endif
 	unsigned long long l_start;