Re: set_thread_area.2: csky architecture undocumented

From: Michael Kerrisk (man-pages)
Date: Tue Nov 24 2020 - 04:51:56 EST


Hi Alex,

On 11/23/20 10:31 PM, Alejandro Colomar (man-pages) wrote:
> Hi Michael,
>
> SYNOPSIS
> #include <linux/unistd.h>
>
> #if defined __i386__ || defined __x86_64__
> # include <asm/ldt.h>
>
> int get_thread_area(struct user_desc *u_info);
> int set_thread_area(struct user_desc *u_info);
>
> #elif defined __m68k__
>
> int get_thread_area(void);
> int set_thread_area(unsigned long tp);
>
> #elif defined __mips__
>
> int set_thread_area(unsigned long addr);
>
> #endif
>
> Note: There are no glibc wrappers for these system calls; see
> NOTES.
>
>
> $ grep -rn 'SYSCALL_DEFINE.*et_thread_area'
> arch/csky/kernel/syscall.c:6:
> SYSCALL_DEFINE1(set_thread_area, unsigned long, addr)
> arch/mips/kernel/syscall.c:86:
> SYSCALL_DEFINE1(set_thread_area, unsigned long, addr)
> arch/x86/kernel/tls.c:191:
> SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, u_info)
> arch/x86/kernel/tls.c:243:
> SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, u_info)
> arch/x86/um/tls_32.c:277:
> SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, user_desc)
> arch/x86/um/tls_32.c:325:
> SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, user_desc)
>
>
> See kernel commit 4859bfca11c7d63d55175bcd85a75d6cee4b7184
>
>
> I'd change
> - #elif defined __mips__
> + #elif defined(__mips__ || __csky__)
>
> and then change the rest of the text to add csky when appropriate.
> Am I correct?

AFAICT, you are correct. I think the reason that csky is missing is
that the architecture was added after this manual pages was added.

Thanks,

Michael


--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/