Re: [RFC] [PATCH] 32-bit pointers in x86-64

2007-12-05 Thread Andrew Pinski
On 12/5/07, Jan Beulich [EMAIL PROTECTED] wrote: Andrew Pinski [EMAIL PROTECTED] 25.11.07 19:45 On 11/25/07, Luca [EMAIL PROTECTED] wrote: 7.1. Add __attribute__((pointer_size(XXX))) and #pragma pointer_size to allow 64-bit pointers in 32-bit mode and viceversa This is already

Re: [RFC] [PATCH] 32-bit pointers in x86-64

2007-11-25 Thread Andrew Pinski
On 11/25/07, Luca [EMAIL PROTECTED] wrote: 7.1. Add __attribute__((pointer_size(XXX))) and #pragma pointer_size to allow 64-bit pointers in 32-bit mode and viceversa This is already there, try using __attribute__((mode(DI) )). -- Pinski - To unsubscribe from this list: send the line

Re: memcpy(a,b,CONST) is not inlined by gcc 3.4.1 in Linux kernel

2005-03-29 Thread Andrew Pinski
On Tue, Mar 29, 2005 at 05:37:06PM +0300, Denis Vlasenko wrote: /* * This looks horribly ugly, but the compiler can optimize it totally, * as the count is constant. */ static inline void * __constant_memcpy(void * to, const void * from, size_t n) { if (n = 128)

Re: [Cbe-oss-dev] [PATCH 1/3] Fix Unlikely(x) == y

2008-02-17 Thread Andrew Pinski
On Feb 16, 2008 9:58 AM, Willy Tarreau [EMAIL PROTECTED] wrote: Last but not least, gcc 4 tends to emit stupid checks, to the point that I have replaced unlikely(x) with (x) in my code when gcc = 4 is detected. What I observe is that the following code : if (unlikely(p == NULL)) ...

Re: [Cbe-oss-dev] [PATCH 1/3] Fix Unlikely(x) == y

2008-02-18 Thread Andrew Pinski
On Feb 18, 2008 6:01 AM, Geert Uytterhoeven [EMAIL PROTECTED] wrote: This means it generates faster code with a current gcc for your platform. But a future gcc might e.g. replace the whole loop with a division (gcc SVN head (that will soon become gcc 4.3) already does transformations

[PATCH 3/5] FS: Export poll_select_copy_remaining and rename poll_select_copy_remaining in compat.c so it does not pick the wrong copy.

2013-09-09 Thread Andrew Pinski
the copy in fs/compat.c to make sure that it is not being used. Signed-off-by: Andrew Pinski apin...@cavium.com --- fs/compat.c |8 fs/select.c |4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/compat.c b/fs/compat.c index 6af20de..298e3e1 100644 --- a/fs

[PATCH 4/5] ARM64: Move copy_siginfo_to_user32 and copy_siginfo_from_user32 to signal.c to be able to use from non AARCH32 code.

2013-09-09 Thread Andrew Pinski
The signal code for ILP32 uses one extra function from signal32.c; it does not make sense to enable the whole signal32.c code so we move the function which was being used to signal.c. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/kernel/signal.c | 85

[PATCH 2/5] ARM64: Move some signal code to a seperate file to be reused by ILP32.

2013-09-09 Thread Andrew Pinski
Since the ILP32 ABI uses similar signal code as the LP64 ABI, it makes sense to reuse rather than copy the same code. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/kernel/signal.c | 170 +--- 1 files changed, 1 insertions(+), 169

[PATCH 1/5] ARM64: Split out CONFIG_ARM64_AARCH32 from CONFIG_COMPAT. Signed-off-by: Andrew Pinski apin...@cavium.com

2013-09-09 Thread Andrew Pinski
Right now CONFIG_COMPAT means enabling AARCH32 support in the ARM64 traget, which we want to split out so we can it to mean any 32bit ABI support instead. --- arch/arm64/Kconfig |6 +- arch/arm64/include/asm/compat.h| 32

[PATCH 5/5] ARM64: Add support for ILP32 ABI.

2013-09-09 Thread Andrew Pinski
This patch adds full support of the ABI to the ARM64 target. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Kconfig | 11 +- arch/arm64/include/asm/Kbuild|1 - arch/arm64/include/asm/compat.h | 72 ++- arch/arm64

Re: [PATCH 2/5] ARM64: Move some signal code to a seperate file to be reused by ILP32.

2013-09-09 Thread Andrew Pinski
On Mon, Sep 9, 2013 at 2:32 PM, Andrew Pinski pins...@gmail.com wrote: Since the ILP32 ABI uses similar signal code as the LP64 ABI, it makes sense to reuse rather than copy the same code. I just noticed that signal_template.c was not part of this patch but it is included with patch number 5

Re: [PATCH 3/5] FS: Export poll_select_copy_remaining and rename poll_select_copy_remaining in compat.c so it does not pick the wrong copy.

2013-09-11 Thread Andrew Pinski
On Wed, Sep 11, 2013 at 4:09 AM, Catalin Marinas catalin.mari...@arm.com wrote: On Mon, Sep 09, 2013 at 10:32:57PM +0100, Andrew Pinski wrote: The ILP32 ABI in ARM64 uses a slightly different pselect from either the compat or even the native LP64 ABI. We would want to reuse some

Re: [PATCH 5/5] ARM64: Add support for ILP32 ABI.

2013-09-13 Thread Andrew Pinski
On Wed, Sep 11, 2013 at 7:32 AM, Catalin Marinas catalin.mari...@arm.com wrote: On Mon, Sep 09, 2013 at 10:32:59PM +0100, Andrew Pinski wrote: This patch adds full support of the ABI to the ARM64 target. This description is too short. Please describe what the ABI is, what

[PATCHv2 00/24] ILP32 Support in ARM64

2014-05-24 Thread Andrew Pinski
in glibc is not the one which is used by the kernel) I have not yet tested LTP for AARCH32 but I have done simple testing of AARCH32 so an executable still runs. Each patch has been tested seperately though ILP32 won't fully work until the last patch has been added. Thanks, Andrew Pinski

[PATCHv2 00/24] ILP32 Support in ARM64

2014-05-24 Thread Andrew Pinski
in glibc is not the one which is used by the kernel) I have not yet tested LTP for AARCH32 but I have done simple testing of AARCH32 so an executable still runs. Each patch has been tested seperately though ILP32 won't fully work until the last patch has been added. Thanks, Andrew Pinski

[PATCH 01/24] ARM64: Force LP64 to compile the kernel.

2014-05-24 Thread Andrew Pinski
Sometimes the compiler is set to default to ILP32 ABI so we want to make sure the kernel can compile in that case. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Makefile |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch

[PATCH 01/24] ARM64: Force LP64 to compile the kernel.

2014-05-24 Thread Andrew Pinski
Sometimes the compiler is set to default to ILP32 ABI so we want to make sure the kernel can compile in that case. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Makefile |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch

[PATCH 21/24] ARM64:ILP32: The native siginfo is used instead of the compat siginfo.

2014-05-24 Thread Andrew Pinski
Set COMPAT_USE_NATIVE_SIGINFO to be true for non AARCH32 tasks. The same reasoning why we check AARCH32 as we did for COMPAT_USE_64BIT_TIME_T. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h |3 +++ 1 files changed, 3 insertions

[PATCH 02/24] ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig.

2014-05-24 Thread Andrew Pinski
We want to split CONFIG_COMPAT so we can use the COMPAT interface in some cases including for compat binfmt. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Kconfig |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/arm64

[PATCH 18/24] ARM64: Add loading of ILP32 binaries.

2014-05-24 Thread Andrew Pinski
with shard libraries. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/elf.h | 66 +++-- 1 files changed, 56 insertions(+), 10 deletions(-) diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h

[PATCH 20/24] ptrace: Allow compat to use the native siginfo.

2014-05-24 Thread Andrew Pinski
With ARM64 ILP32 ABI, we want to use the non-compat siginfo as we want to simplify signal handling for this new ABI. This patch just adds a new define COMPAT_USE_NATIVE_SIGINFO and if it is true then read/write in the compat case as it was the non-compat case. Thanks, Andrew Pinski Signed

[PATCH 19/24] ARM64: Add vdso for ILP32 and use it for the signal return.

2014-05-24 Thread Andrew Pinski
This patch adds the VDSO for ILP32. We need to use a different VDSO than LP64 since ILP32 uses ELF32 while LP64 uses ELF64. After this patch, signal handling works mostly. In that signals go through their action and then returned correctly. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski

[PATCH 07/24] ARM64:ILP32: Use the same size and layout of the signal structures for ILP32 as for LP64.

2014-05-24 Thread Andrew Pinski
Defines the macros which allow the signal structures to be the same between ILP32 and LP64. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/uapi/asm/siginfo.h | 21 + arch/arm64/include/uapi/asm/signal.h | 32

[PATCH 09/24] ARM64:ILP32: Use the same syscall names as LP64.

2014-05-24 Thread Andrew Pinski
Define __SYSCALL_NONCOMPAT so we use the 64bit naming scheme for ILP32. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/uapi/asm/unistd.h |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/arch/arm64/include/uapi/asm/unistd.h b/arch/arm64

[PATCH 06/24] Allow for some signal structures to be the same between a 32bit ABI and the 64bit ABI.

2014-05-24 Thread Andrew Pinski
In ARM64, we want to allow the signal related structures to be same between the 32bit (ILP32) and the 64bit ABIs (LP64). We still want to use the generic include files so we need some new defines that are used in UAPI; they default to the same as it is before. Thanks, Andrew Pinski Signed

[PATCH 12/24] ARM64: Add is_ilp32_compat_task and is_ilp32_compat_thread and TIF_32BIT_AARCH64.

2014-05-24 Thread Andrew Pinski
This patch adds the thread bit for ILP32 and has is_compat_task return true in that case. We don't set it yet though. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h | 32 ++-- arch/arm64/include/asm

[PATCH 13/24] Drivers:input: Use is_compat_task for ARM64 also.

2014-05-24 Thread Andrew Pinski
Since TIF_32BIT in ARM64 (with ILP32 added) is not always says if this is a compat task, we need to have the input driver understand that and use is_compat_task instead. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- drivers/input/input-compat.h |2 +- 1 files

[PATCH 03/24] ARM64: Change some CONFIG_COMPAT over to use CONFIG_AARCH32_EL0 instead.

2014-05-24 Thread Andrew Pinski
This patch changes CONFIG_COMPAT checks inside the arm64 which are AARCH32 specific. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/arch_timer.h |2 +- arch/arm64/include/asm/elf.h| 23 --- arch/arm64/include

[PATCH 02/24] ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig.

2014-05-24 Thread Andrew Pinski
We want to split CONFIG_COMPAT so we can use the COMPAT interface in some cases including for compat binfmt. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Kconfig |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/arm64

[PATCH 15/24] ARM64:ILP32: Use the non compat HWCAP for ILP32.

2014-05-24 Thread Andrew Pinski
Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/hwcap.h | 12 ++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/hwcap.h b/arch/arm64/include/asm/hwcap.h index 024c461..cb87f91 100644 --- a/arch/arm64/include/asm

[PATCH 04/24] ARM64:ILP32: Set kernel_long to long long so we can reuse most of the same syscalls as LP64.

2014-05-24 Thread Andrew Pinski
Since we want time_t and some other userland types to be the same between ILP32 and LP64, we define __kernel_long_t to be long long. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/Kbuild |1 - arch/arm64/include/uapi/asm

[PATCH 05/24] ARM64:UAPI: Set the correct __BITS_PER_LONG for ILP32.

2014-05-24 Thread Andrew Pinski
We need to say to the userland API that bits per long is 32bits for ILP32. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/uapi/asm/bitsperlong.h |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/arch/arm64/include/uapi

[PATCH 08/24] Allow a 32bit ABI to use the naming of the 64bit ABI syscalls to avoid confusion of not splitting the registers.

2014-05-24 Thread Andrew Pinski
In the ARM64 ILP32 case, we want to say the syscalls that normally would pass 64bit as two arguments are now passing as one so want to use the 64bit naming scheme. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- include/uapi/asm-generic/unistd.h |5 - 1 files

[PATCH 10/24] ARM64: Introduce is_a32_task and is_a32_thread. Use them in the correct locations.

2014-05-24 Thread Andrew Pinski
This patch introduces is_a32_compat_task and is_a32_thread so it is easier to say this is a a32 specific thread or a generic compat thread/task. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h | 31

[PATCH 17/24] ARM64:ILP32: Support core dump for ILP32.

2014-05-24 Thread Andrew Pinski
This patch supports core dumping on ILP32. We need a few extra macros (PR_REG_SIZE and PRSTATUS_SIZE) due to size differences of the register sets. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/elf.h | 22 -- arch/arm64

[PATCH 24/24] Add documentation about ARM64 ILP32 ABI.

2014-05-24 Thread Andrew Pinski
This adds the documentation about the ILP32 ABI and what is difference between it and the normal generic 32bit ABI. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- Documentation/arm64/ilp32.txt | 57 + 1 files changed, 57

[PATCH 11/24] ARM64: Add ARM64_ILP32 to Kconfig.

2014-05-24 Thread Andrew Pinski
This patch adds the config option for ILP32. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Kconfig |9 - 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 032c712..92577da 100644

[PATCH 22/24] ARM64:ILP32: Use a seperate syscall table as a few syscalls need to be using the compat syscalls.

2014-05-24 Thread Andrew Pinski
Some syscalls are still need to use the compat versions. So we need to have a seperate syscall table for ILP32. This patch adds them including documentation on why we need to use each one. This list is based on the list from https://lkml.org/lkml/2013/9/11/478. Thanks, Andrew Pinski Signed

[PATCH 16/24] ARM64:ILP32 use the standard start_thread for ILP32 so the processor state is not AARCH32.

2014-05-24 Thread Andrew Pinski
If we have both ILP32 and AARCH32 compiled in, we need use the non compat start thread for ILP32. We have to use TIF_32BIT_AARCH64 explicit due to header depency issues. Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/processor.h |9

[PATCH 23/24] ARM64:ILP32: Fix signal return for ILP32 when the user modified the signal stack.

2014-05-24 Thread Andrew Pinski
If the user decided to change the stack_t that was on the stack when returning from the signal handler, the stack_t's padding for ILP32 might be not zero. So we need to use the syscall version of restore_altstack (ilp32_sys_sigaltstack). Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin

[PATCH 14/24] ARM64:ILP32: COMPAT_USE_64BIT_TIME is true for ILP32 tasks.

2014-05-24 Thread Andrew Pinski
due to AARCH32 requiring 4k pages). Thanks, Andrew Pinski Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h index

Re: [PATCH] Fix get ERESTARTSYS with m32 in x86_64 when debug by GDB

2014-04-29 Thread Andrew Pinski
to it, and that truncating values to 32 bits is the root of the problem), but the above is definitely a hack which doesn't really address the real problem. restoring the values is hard since even the ptrace interface does not allow for that. Thanks, Andrew Pinski -hpa -- To unsubscribe from this list: send

Re: [PATCH 5/5] ARM64: Add support for ILP32 ABI.

2014-04-21 Thread Andrew Pinski
On Fri, Sep 13, 2013 at 5:12 AM, Catalin Marinas catalin.mari...@arm.com wrote: On Fri, Sep 13, 2013 at 07:18:48AM +0100, Andrew Pinski wrote: On Wed, Sep 11, 2013 at 7:32 AM, Catalin Marinas catalin.mari...@arm.com wrote: On Mon, Sep 09, 2013 at 10:32:59PM +0100, Andrew Pinski wrote

Re: [PATCH 5/5] ARM64: Add support for ILP32 ABI.

2014-04-15 Thread Andrew Pinski
On Wed, Sep 11, 2013 at 7:32 AM, Catalin Marinas catalin.mari...@arm.com wrote: On Mon, Sep 09, 2013 at 10:32:59PM +0100, Andrew Pinski wrote: This patch adds full support of the ABI to the ARM64 target. This description is too short. Please describe what the ABI is, what

Re: [PATCH resend] MIPS: Allow FPU emulator to use non-stack area.

2014-10-06 Thread Andrew Pinski
On Mon, Oct 6, 2014 at 5:05 PM, Rich Felker dal...@libc.org wrote: On Mon, Oct 06, 2014 at 04:48:52PM -0700, David Daney wrote: On 10/06/2014 04:38 PM, Andy Lutomirski wrote: On 10/06/2014 02:58 PM, Rich Felker wrote: On Mon, Oct 06, 2014 at 02:45:29PM -0700, David Daney wrote: [...] This is

Re: [PATCH resend] MIPS: Allow FPU emulator to use non-stack area.

2014-10-06 Thread Andrew Pinski
On Mon, Oct 6, 2014 at 5:21 PM, Rich Felker dal...@libc.org wrote: On Mon, Oct 06, 2014 at 05:11:38PM -0700, Andrew Pinski wrote: On Mon, Oct 6, 2014 at 5:05 PM, Rich Felker dal...@libc.org wrote: On Mon, Oct 06, 2014 at 04:48:52PM -0700, David Daney wrote: On 10/06/2014 04:38 PM, Andy

[PATCHv3 00/24] ILP32 support in ARM64

2014-09-03 Thread Andrew Pinski
for core dumping for easier usage. Andrew Pinski (24): ARM64: Force LP64 to compile the kernel ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig ARM64: Change some CONFIG_COMPAT over to use CONFIG_AARCH32_EL0 instead ARM64:ILP32: Set kernel_long to long long so we can reuse most

[PATCH 01/24] ARM64: Force LP64 to compile the kernel

2014-09-03 Thread Andrew Pinski
Sometimes the compiler is set to default to ILP32 ABI so we want to make sure the kernel can compile in that case. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Makefile |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/arm64/Makefile b/arch/arm64

[PATCH 02/24] ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig

2014-09-03 Thread Andrew Pinski
We want to split CONFIG_COMPAT so we can use the COMPAT interface in some cases including for compat binfmt. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Kconfig |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64

[PATCH 08/24] Allow a 32bit ABI to use the naming of the 64bit ABI syscalls to avoid confusion of not splitting the registers

2014-09-03 Thread Andrew Pinski
In the ARM64 ILP32 case, we want to say the syscalls that normally would pass 64bit as two arguments are now passing as one so want to use the 64bit naming scheme. Signed-off-by: Andrew Pinski apin...@cavium.com --- include/uapi/asm-generic/unistd.h |6 +- 1 files changed, 5 insertions

[PATCH 06/24] Allow for some signal structures to be the same between a 32bit ABI and the 64bit ABI

2014-09-03 Thread Andrew Pinski
In ARM64, we want to allow the signal related structures to be same between the 32bit (ILP32) and the 64bit ABIs (LP64). We still want to use the generic include files so we need some new defines that are used in UAPI; they default to the same as it is before. Signed-off-by: Andrew Pinski apin

[PATCH 11/24] ARM64: Add is_ilp32_compat_task and is_ilp32_compat_thread

2014-09-03 Thread Andrew Pinski
This patch adds the functions which returns if the current task is an ILP32 task and one returns if the thread is an ILP32 thread. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h | 22 ++ 1 files changed, 22 insertions(+), 0 deletions

[PATCH 04/24] ARM64:ILP32: Set kernel_long to long long so we can reuse most of the same syscalls as LP64

2014-09-03 Thread Andrew Pinski
Since we want time_t and some other userland types to be the same between ILP32 and LP64, we define __kernel_long_t to be long long. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/uapi/asm/posix_types.h |8 +++- 1 files changed, 7 insertions(+), 1 deletions

[PATCH 05/24] ARM64:UAPI: Set the correct __BITS_PER_LONG for ILP32

2014-09-03 Thread Andrew Pinski
We need to say to the userland API that bits per long is 32bits for ILP32. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/uapi/asm/bitsperlong.h |9 - 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/arch/arm64/include/uapi/asm/bitsperlong.h b

[PATCH 09/24] ARM64:ILP32: Use the same syscall names as LP64

2014-09-03 Thread Andrew Pinski
Define __SYSCALL_NONCOMPAT so we use the 64bit naming scheme for ILP32. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/uapi/asm/unistd.h |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/arch/arm64/include/uapi/asm/unistd.h b/arch/arm64

[PATCH 19/24] ptrace: Allow compat to use the native siginfo

2014-09-03 Thread Andrew Pinski
With ARM64 ILP32 ABI, we want to use the non-compat siginfo as we want to simplify signal handling for this new ABI. This patch just adds a new define COMPAT_USE_NATIVE_SIGINFO and if it is true then read/write in the compat case as it was the non-compat case. Signed-off-by: Andrew Pinski apin

[PATCH 23/24] ARM64: Add ARM64_ILP32 to Kconfig

2014-09-03 Thread Andrew Pinski
This patch adds the config option for ILP32. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/Kconfig |9 - 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 73c93dd..4ee4183 100644 --- a/arch/arm64/Kconfig

[PATCH 22/24] ARM64:ILP32: Fix signal return for ILP32 when the user modified the signal stack

2014-09-03 Thread Andrew Pinski
If the user decided to change the stack_t that was on the stack when returning from the signal handler, the stack_t's padding for ILP32 might be not zero. So we need to use the syscall version of restore_altstack (ilp32_sys_sigaltstack). Signed-off-by: Andrew Pinski apin...@cavium.com --- arch

[PATCH 13/24] ARM64:ILP32: Use the non compat HWCAP for ILP32

2014-09-03 Thread Andrew Pinski
Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h | 10 ++ arch/arm64/include/asm/hwcap.h |2 -- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h index eca6eec

[PATCH 16/24] ARM64:ILP32: Support core dump for ILP32

2014-09-03 Thread Andrew Pinski
This patch supports core dumping on ILP32. We need a few extra macros (COMPAT_PR_REG_SIZE and COMPAT_PRSTATUS_SIZE) due to size differences of the register sets. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/elf.h | 23 +-- arch/arm64/kernel

[PATCH 20/24] ARM64:ILP32: The native siginfo is used instead of the compat siginfo

2014-09-03 Thread Andrew Pinski
Set COMPAT_USE_NATIVE_SIGINFO to be true for non AARCH32 tasks. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h index

[PATCH 18/24] ARM64: Add vdso for ILP32 and use it for the signal return

2014-09-03 Thread Andrew Pinski
This patch adds the VDSO for ILP32. We need to use a different VDSO than LP64 since ILP32 uses ELF32 while LP64 uses ELF64. After this patch, signal handling works mostly. In that signals go through their action and then returned correctly. Signed-off-by: Andrew Pinski apin...@cavium.com

[PATCH 07/24] ARM64:ILP32: Use the same size and layout of the signal structures for ILP32 as for LP64

2014-09-03 Thread Andrew Pinski
Defines the macros which allow the signal structures to be the same between ILP32 and LP64. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/uapi/asm/siginfo.h | 33 arch/arm64/include/uapi/asm/signal.h | 34

[PATCH 14/24] ARM64:ILP32 use the standard start_thread for ILP32 so the processor state is not AARCH32

2014-09-03 Thread Andrew Pinski
If we have both ILP32 and AARCH32 compiled in, we need use the non compat start thread for ILP32. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/processor.h | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/arch/arm64/include/asm

[PATCH 24/24] Add documentation about ARM64 ILP32 ABI

2014-09-03 Thread Andrew Pinski
This adds the documentation about the ILP32 ABI and what is difference between it and the normal generic 32bit ABI. Signed-off-by: Andrew Pinski apin...@cavium.com --- Documentation/arm64/ilp32.txt | 57 + 1 files changed, 57 insertions(+), 0 deletions

[PATCH 15/24] compat_binfmt_elf: coredump: Allow some core dump macros be overridden for compat.

2014-09-03 Thread Andrew Pinski
On some targets (x86 [32bit and x32] and arm64 [aarch32 and ilp32]), there are two compat elf abis. This adds a few more #define * COMPAT_* for compat targets to define if needed. Signed-off-by: Andrew Pinski apin...@cavium.com --- fs/compat_binfmt_elf.c | 17 + 1 files

[PATCH 17/24] ARM64: Add loading of ILP32 binaries

2014-09-03 Thread Andrew Pinski
Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/elf.h | 59 +++-- 1 files changed, 50 insertions(+), 9 deletions(-) diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index 795dc9f..52083cd 100644 --- a/arch

[PATCH 12/24] ARM64:ILP32: COMPAT_USE_64BIT_TIME is true for ILP32 tasks

2014-09-03 Thread Andrew Pinski
due to AARCH32 requiring 4k pages). Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h index 9082b27..eca6eec 100644

[PATCH 10/24] ARM64: Introduce is_a32_task/is_a32_thread and TIF_AARCH32 and use them in the correct locations

2014-09-03 Thread Andrew Pinski
This patch introduces is_a32_compat_task and is_a32_thread so it is easier to say this is a a32 specific thread or a generic compat thread/task. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/compat.h | 21 + arch/arm64/include/asm/elf.h

[PATCH 03/24] ARM64: Change some CONFIG_COMPAT over to use CONFIG_AARCH32_EL0 instead

2014-09-03 Thread Andrew Pinski
This patch changes CONFIG_COMPAT checks inside the arm64 which are AARCH32 specific Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/arch_timer.h |2 +- arch/arm64/include/asm/elf.h| 20 +--- arch/arm64/include/asm/fpsimd.h |2

[PATCH 21/24] ARM64:ILP32: Use a seperate syscall table as a few syscalls need to be using the compat syscalls

2014-09-03 Thread Andrew Pinski
Some syscalls are still need to use the compat versions. So we need to have a seperate syscall table for ILP32. This patch adds them including documentation on why we need to use each one. This list is based on the list from https://lkml.org/lkml/2013/9/11/478. Signed-off-by: Andrew Pinski apin

Re: [PATCH v6 13/17] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it

2015-11-13 Thread Andrew Pinski
On Fri, Nov 13, 2015 at 7:34 AM, Arnd Bergmann wrote: > On Thursday 12 November 2015 14:47:18 Andreas Schwab wrote: >> Arnd Bergmann writes: >> >> > On Thursday 12 November 2015 10:44:55 Andreas Schwab wrote: >> >> Arnd Bergmann writes: >> >> >> >> >

Re: [RFC PATCH v6 00/17] ILP32 for ARM64

2015-11-05 Thread Andrew Pinski
On Thu, Nov 5, 2015 at 7:36 PM, Andreas Schwab wrote: > Yury Norov writes: > >> v6: >> - time_t, __kenel_off_t and other types turned to be 32-bit >>for compatibility reasons (after v5 discussion); > > Are the updated glibc patches available

[PATCH] ARM64: Add AT_ARM64_MIDR to the aux vector

2015-08-29 Thread Andrew Pinski
/358995.html. It allows for faster access to midr_el1 than going through a trap and does not exist if the set of cores are not the same. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/cpu.h |1 + arch/arm64/include/asm/elf.h |6 ++ arch/arm64/kernel/cpuinfo.c

[PATCHv2] ARM64: Add AT_ARM64_MIDR to the aux vector

2015-08-29 Thread Andrew Pinski
/358995.html. It allows for faster access to midr_el1 than going through a trap and does not exist if the set of cores are not the same. Changes from v1: Forgot to include the auxvec.h part. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/cpu.h |1 + arch/arm64

[PATCH] ARM64: Add AT_ARM64_MIDR to the aux vector

2015-08-29 Thread Andrew Pinski
/358995.html. It allows for faster access to midr_el1 than going through a trap and does not exist if the set of cores are not the same. Signed-off-by: Andrew Pinski apin...@cavium.com --- arch/arm64/include/asm/cpu.h |1 + arch/arm64/include/asm/elf.h |6 ++ arch/arm64/kernel/cpuinfo.c

Re: [PATCHv2] ARM64: Add AT_ARM64_MIDR to the aux vector

2015-09-02 Thread Andrew Pinski
siarhei.siamas...@gmail.com> wrote: >> > >> > On Wed, 2 Sep 2015 01:58:56 +0800 >> > pins...@gmail.com wrote: >> > >> >>> On Sep 2, 2015, at 1:30 AM, Mark Rutland <mark.rutl...@arm.com> wrote: >> >>> >> >>>

Re: Commit 81a43adae3b9 (locking/mutex: Use acquire/release semantics) causing failures on arm64 (ThunderX)

2015-12-11 Thread Andrew Pinski
ows > the lockup, which really translates to c55a6ffa62. Yes as mutex_optimistic_spin calls into osq_lock/osq_unlock. And 81a43adae3b9 changed mutex.c which David thought was where the issue was located rather than not what mutex_optimistic_spin called. Thanks, Andrew Pinski > > Th

Re: FW: Commit 81a43adae3b9 (locking/mutex: Use acquire/release semantics) causing failures on arm64 (ThunderX)

2015-12-10 Thread Andrew Pinski
On Thu, Dec 10, 2015 at 11:44 AM, David Danny wrote: > > Hi, > > We are getting soft lockup OOPs on Cavium CN88XX (A.K.A. ThunderX), which is > an arm64 implementation. I get a slightly different OOPs and reverting c55a6ffa6285e29f874ed403979472631ec70bff I was able to boot. What I saw with

Re: FW: Commit 81a43adae3b9 (locking/mutex: Use acquire/release semantics) causing failures on arm64 (ThunderX)

2015-12-10 Thread Andrew Pinski
On Thu, Dec 10, 2015 at 7:29 PM, Andrew Pinski <pins...@gmail.com> wrote: > On Thu, Dec 10, 2015 at 11:44 AM, David Danny wrote: >> >> Hi, >> >> We are getting soft lockup OOPs on Cavium CN88XX (A.K.A. ThunderX), which is >> an arm64 implementati

Re: [PATCH 1/2] arm64: Improve error reporting on set_pte_at() checks

2015-12-15 Thread Andrew Pinski
ration of function ‘BUILD_BUG_ON_INVALID’ [-Werror=implicit-function-declaration] VM_WARN_ONCE(!pte_young(pte), ^ Thanks, Andrew Pinski > > Signed-off-by: Catalin Marinas <catalin.mari...@arm.com> > Cc: Will Deacon <will.dea...@arm.com> > --- > arch/arm64/include/asm/pgtable.h | 11

Re: [PATCH] ARM64: Improve copy_page for 128 cache line sizes.

2015-12-22 Thread Andrew Pinski
On Tue, Dec 21, 2015 at 5:43 AM, Arnd Bergmann <a...@arndb.de> wrote: > > On Monday 21 December 2015, Will Deacon wrote: >> On Sat, Dec 19, 2015 at 04:11:18PM -0800, Andrew Pinski wrote: >> > Adding a check for the cache line size is not much overhead. >> > S

[PATCH] ARM64: Improve copy_page for 128 cache line sizes.

2015-12-19 Thread Andrew Pinski
Adding a check for the cache line size is not much overhead. Special case 128 byte cache line size. This improves copy_page by 85% on ThunderX compared to the original implementation. For LMBench, it improves between 4-10%. Signed-off-by: Andrew Pinski <apin...@cavium.com> --- arch/arm

[PATCH] ARM64: Fix compiling with GCC 6 and Atomics enabled

2015-12-18 Thread Andrew Pinski
The problem here is that GCC 6 and above emits .arch now for each function so now the global .arch_extension has no effect. This fixes the problem by putting .arch_extension inside ARM64_LSE_ATOMIC_INSN so it is enabled for each place where LSE is used. Signed-off-by: Andrew Pinski <a

Re: [PATCH v6 12/20] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it

2015-12-17 Thread Andrew Pinski
On Thu, Dec 17, 2015 at 12:10 PM, Arnd Bergmann wrote: > On Thursday 17 December 2015 18:27:53 Catalin Marinas wrote: >> On Wed, Dec 16, 2015 at 12:42:38AM +0300, Yury Norov wrote: > >> > +#define compat_sys_lookup_dcookie sys_lookup_dcookie >> > +#define compat_sys_pread64

Re: [PATCH v6 14/19] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it

2015-11-30 Thread Andrew Pinski
On Wednesday 18 November 2015 00:16:54 Yury Norov wrote: >> > > > From: Andrew Pinski <apin...@cavium.com> >> > > > >> > > > Add a separate syscall-table for ILP32, which dispatches either to >> > > > native >> > >

[PATCH] perf annotate: ARM64 support

2016-06-11 Thread Andrew Pinski
function, thereby properly annotating them. * allows perf to identify function calls, allowing called functions to be followed in the annotated view. Signed-off-by: Andrew Pinski <apin...@cavium.com> --- tools/perf/util/annotate.c | 64 +++--- 1 file c

Re: [PATCH 23/27] [AARCH64] delouse input arguments in system functions

2016-06-21 Thread Andrew Pinski
On Tue, Jun 21, 2016 at 8:42 AM, Arnd Bergmann wrote: > On Tuesday, June 21, 2016 10:36:53 AM CEST Joseph Myers wrote: >> On Tue, 21 Jun 2016, Yury Norov wrote: >> >> > Signed-off-by: Yury Norov >> >> You're missing a patch description. What does

Re: [PATCH 01/27] [AARCH64] Fix utmp struct for compatibility reasons.

2016-06-23 Thread Andrew Pinski
On Thu, Jun 23, 2016 at 12:36 AM, Yury Norov <yno...@caviumnetworks.com> wrote: > On Thu, Jun 23, 2016 at 09:32:46AM +0200, Andreas Schwab wrote: >> Andrew Pinski <pins...@gmail.com> writes: >> >> > So if you want aarch64 to be compatible w

Re: [PATCH 01/27] [AARCH64] Fix utmp struct for compatibility reasons.

2016-06-23 Thread Andrew Pinski
On Thu, Jun 23, 2016 at 12:32 AM, Andreas Schwab <sch...@suse.de> wrote: > Andrew Pinski <pins...@gmail.com> writes: > >> So if you want aarch64 to be compatible with aarch32, you need to >> define __WORDSIZE_TIME64_COMPAT32. If we don't want aarch64 and >

Re: [PATCH 01/27] [AARCH64] Fix utmp struct for compatibility reasons.

2016-06-22 Thread Andrew Pinski
On Wed, Jun 22, 2016 at 9:35 PM, Yury Norov <yno...@caviumnetworks.com> wrote: > On Tue, Jun 21, 2016 at 11:14:54AM +0100, Szabolcs Nagy wrote: >> On 21/06/16 06:06, Yury Norov wrote: >> > From: Andrew Pinski <apin...@cavium.com> >> > >> > NOTE Thi

Re: [PATCH 01/27] [AARCH64] Fix utmp struct for compatibility reasons.

2016-06-25 Thread Andrew Pinski
On Fri, Jun 24, 2016 at 4:38 AM, Florian Weimer <fwei...@redhat.com> wrote: > On 06/23/2016 09:56 AM, Andreas Schwab wrote: >> >> Andrew Pinski <pins...@gmail.com> writes: >> >>> So the question becomes do we care enough about the incompatibles >>

[PATCH 1/2] ARM64:VDSO: Improve gettimeofday, don't use udiv

2016-03-13 Thread Andrew Pinski
On many cores, udiv with a large value is slow, expand instead the division out to be what GCC would have generated for the divide by 1000. On ThunderX, the speeds up gettimeofday by 5%. Signed-off-by: Andrew Pinski <apin...@cavium.com> --- arch/arm64/kernel/vdso/gettimeofday.S

[PATCH 0/2] *** SUBJECT HERE ***

2016-03-13 Thread Andrew Pinski
*** BLURB HERE *** Andrew Pinski (2): ARM64:VDSO: Improve gettimeofday, don't use udiv ARM64:VDSO: Improve __do_get_tspec, don't use udiv arch/arm64/kernel/vdso/gettimeofday.S | 47 1 files changed, 35 insertions(+), 12 deletions(-) -- 1.7.2.5

[PATCH 2/2] ARM64:VDSO: Improve __do_get_tspec, don't use udiv

2016-03-13 Thread Andrew Pinski
. On ThunderX, this speeds up gettimeofday by 16.6%. Signed-off-by: Andrew Pinski <apin...@cavium.com> --- arch/arm64/kernel/vdso/gettimeofday.S | 27 +++ 1 files changed, 19 insertions(+), 8 deletions(-) diff --git a/arch/arm64/kernel/vdso/gettimeofday.S b/arch/arm64/kerne

Re: [RFC6 PATCH v6 00/21] ILP32 for ARM64

2016-04-07 Thread Andrew Pinski
On Thu, Apr 7, 2016 at 5:18 AM, Adam Borowski wrote: > On Wed, 6 Apr 2016, Geert Uytterhoeven wrote: >> On Wed, Apr 6, 2016 at 12:08 AM, Yury Norov >> wrote: >>> v6: >>> - time_t, __kenel_off_t and other types turned to be 32-bit >>>for

Re: [PATCH] Revert "arm64: Increase the max granular size"

2016-03-19 Thread Andrew Pinski
On 3/17/2016 7:27 AM, Catalin Marinas wrote: On Wed, Mar 16, 2016 at 10:26:08AM -0500, Timur Tabi wrote: Catalin Marinas wrote: Why do you need your own defconfig? If it's just on the short term until all your code is upstream, that's fine, but this goes against the single Image aim. I would

Re: [RFC6 PATCH v6 00/21] ILP32 for ARM64 - LTP results

2016-04-27 Thread Andrew Pinski
On Wed, Apr 27, 2016 at 12:30 AM, Andrew Pinski <pins...@gmail.com> wrote: > On Fri, Apr 22, 2016 at 8:37 PM, Zhangjian (Bamvor) > <bamvor.zhangj...@huawei.com> wrote: >> Hi, Yury >> >> >> On 2016/4/6 6:44, Yury Norov wrote: >>> >>&

Re: [RFC6 PATCH v6 00/21] ILP32 for ARM64 - LTP results

2016-04-27 Thread Andrew Pinski
On Fri, Apr 22, 2016 at 8:37 PM, Zhangjian (Bamvor) wrote: > Hi, Yury > > > On 2016/4/6 6:44, Yury Norov wrote: >> >> There are about 20 failing tests of 782 in lite scenario. >> float_bessel >> float_exp_log >> float_iperb >> float_power >> float_trigo >> pipeio_1 >>

Re: [PATCH 24/25] arm64:ilp32: add vdso-ilp32 and use for signal return

2016-05-04 Thread Andrew Pinski
c ZERO(0) ZERO(1) ... ENTRY(__kernel_clock_gettime) .cfi_startproc ZERO(1) ... ENTRY(__kernel_clock_getres) .cfi_startproc ZERO(1) Thanks, Andrew Pinski > > Yury.

  1   2   3   >