Hi all,
On Wed, May 16, 2018 at 11:18:45AM +0300, Yury Norov wrote:
> This series enables AARCH64 with ILP32 mode.
>
> As supporting work, it introduces ARCH_32BIT_OFF_T configuration
> option that is enabled for existing 32-bit architectures but disabled
> for new arches (
On Wed, May 16, 2018 at 11:18:45AM +0300, Yury Norov wrote:
> This series enables AARCH64 with ILP32 mode.
>
> As supporting work, it introduces ARCH_32BIT_OFF_T configuration
> option that is enabled for existing 32-bit architectures but disabled
> for new arches (so 64-bit off_t
On Tue, May 14, 2019 at 12:43:11PM +0200, Cyril Hrubis wrote:
> Hi!
> > > There is a problem with the stack size accounting during execve when
> > > there is no stack limit:
> > >
> > > $ ulimit -s
> > > 8192
> > > $ ./hello.ilp32
> > > Hello World!
> > > $ ulimit -s unlimited
> > > $ ./hello.ilp3
On Tue, May 14, 2019 at 12:43:11PM +0200, Cyril Hrubis wrote:
> Hi!
> > > There is a problem with the stack size accounting during execve when
> > > there is no stack limit:
> > >
> > > $ ulimit -s
> > > 8192
> > > $ ./hello.ilp32
> > > Hello World!
> > > $ ulimit -s unlimited
> > > $ ./hello.ilp3
On Fri, Jan 06, 2017 at 02:47:04PM +, Catalin Marinas wrote:
> On Sun, Dec 18, 2016 at 12:38:23PM +0530, Yury Norov wrote:
> > On Fri, Oct 21, 2016 at 11:32:59PM +0300, Yury Norov wrote:
> > > This series enables aarch64 with ilp32 mode, and as supporting work
The only difference is that non-compat version forces O_LARGEFILE,
and it should be the default behaviour for all architectures, as
we don't support 32-bit off_t. The only exception is tile32, that
continues with compat version of syscalls.
Signed-off-by: Yury Norov
Acked-by: Arnd Ber
Based on Andrew Pinski's patch-series.
Signed-off-by: Yury Norov
---
Documentation/arm64/ilp32.txt | 45 +++
1 file changed, 45 insertions(+)
create mode 100644 Documentation/arm64/ilp32.txt
diff --git a/Documentation/arm64/ilp32.txt b/Document
: add sys_ilp32.c and a separate table (in entry.S) to use
it
arm64: ilp32: introduce ilp32-specific handlers for sigframe and
ucontext
arm64:ilp32: add ARM64_ILP32 to Kconfig
Philipp Tomsich (1):
arm64:ilp32: add vdso-ilp32 and use for signal return
Yury Norov (13):
compat ABI: use non-c
ned-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Makefile | 5 +
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index b9a4a93..c89734d 100644
--- a/arch/arm64/Makefile
+++ b/
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/uapi/asm/bitsperlong.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/include/uapi/asm/bitsperlong.h
b/arch/arm64/include/uapi/asm/bitsperlong.h
index
accordingly.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/asm/elf.h | 2 ++
arch/arm64/include/asm/is_compat.h | 30 --
arch/arm64/include
]
Acked-by: Ley Foon Tan [nios2]
Acked-by: Stafford Horne [openrisc]
Acked-by: Vineet Gupta #arch/arc bits
Signed-off-by: Yury Norov
---
arch/arc/include/uapi/asm/unistd.h | 1 +
arch/arm64/include/uapi/asm/unistd.h | 1 +
arch/c6x/include/uapi/asm/unistd.h | 1 +
arch/h8300/includ
ned-off-by: Yury Norov
---
include/linux/thread_bits.h | 63 +
include/linux/thread_info.h | 54 +-
2 files changed, 64 insertions(+), 53 deletions(-)
create mode 100644 include/linux/thread_bits.h
diff --git a/inc
As we support more than one compat formats, it looks more reasonable
to not use fs/compat_binfmt.c. Custom binfmt_elf32.c allows to move aarch32
specific definitions there and make code more maintainable and readable.
Signed-off-by: Yury Norov
---
arch/arm64/Kconfig | 1 -
arch
After that, it will be possible to reuse it in ilp32.
Signed-off-by: Yury Norov
---
arch/arm64/include/asm/signal_common.h | 33
arch/arm64/kernel/signal.c | 93 +-
2 files changed, 92 insertions(+), 34 deletions(-)
create mode 100644
From: Andrew Pinski
Add a separate syscall-table for ILP32, which dispatches either to native
LP64 system call implementation or to compat-syscalls, as appropriate.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
---
arch/arm64/include/asm/unistd.h | 8 ++-
arch/arm64/include
because has already
included. It was fixed too.
Signed-off-by: Yury Norov
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Andrew Pinski
Reviewed-by: David Daney
---
arch/arm64/include/asm/compat.h | 19 ++-
arch/arm64/include/asm/elf.h | 10
vor Jian Zhang
Signed-off-by: Yury Norov
---
arch/arm64/Kconfig | 10 --
arch/arm64/include/asm/fpsimd.h | 2 +-
arch/arm64/include/asm/hwcap.h | 4 ++--
arch/arm64/include/asm/processor.h | 6 +++---
arch/arm64/include/asm/ptrace.h | 2 +-
arch/ar
From: Andrew Pinski
This patch adds the config option for ILP32.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Kconfig | 10 +-
1 file changed, 9 insertions(+), 1
From: Andrew Pinski
ILP32 uses AARCH32 compat structures and syscall handlers for signals.
But ILP32 struct rt_sigframe and ucontext differs from both LP64 and
AARCH32. So some specific mechanism is needed to take care of it.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
---
arch
Like binfmt_elf32.c, binfmt_ilp32.c is needed to handle ILP32 binaries
Signed-off-by: Yury Norov
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/binfmt_ilp32.c | 98
2 files changed, 99 insertions(+)
create mode 100644 arch/arm64/kernel
off_t is passed in register pair just like in aarch32.
In this patch corresponding aarch32 handlers are shared to
ilp32 code.
Signed-off-by: Yury Norov
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/entry32.S| 80 ---
arch/arm64/kernel
pages and spec.
Adjusted to move the move data page before code pages in sync with
commit 601255ae3c98 ("arm64: vdso: move data page before code pages")
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
---
arch/arm64/include/
compat_ptrace_request() for all
requests except PTRACE_GETSIGMASK and PTRACE_SETSIGMASK, which need
special handling.
Signed-off-by: Yury Norov
---
arch/arm64/kernel/ptrace.c | 65 --
1 file changed, 63 insertions(+), 2 deletions(-)
diff --git a/arch
Signed-off-by: Yury Norov
---
arch/arm64/include/asm/signal32.h| 3 +
arch/arm64/include/asm/signal32_common.h | 27 +++
arch/arm64/kernel/Makefile | 2 +-
arch/arm64/kernel/signal32.c | 107
arch/arm64/kernel/signal32_common.c
-bit off_t, and therefore want to limit the file size
to 4GB unless specified differently in the open flags.
Signed-off-by: Yury Norov
---
arch/Kconfig| 4
arch/arc/Kconfig| 1 +
arch/arm/Kconfig| 1 +
arch/blackfin/Kconfig | 1 +
arch/cris/Kconfig | 1
On Mon, Jan 09, 2017 at 04:59:37PM +0530, Yury Norov wrote:
> This series enables aarch64 with ilp32 mode.
>
> As supporting work, it introduces ARCH_32BIT_OFF_T configuration
> option that is enabled for existing 32-bit architectures but disabled
> for new arches (so 64-bit off_
ilp32-specific handlers for sigframe and
ucontext
arm64:ilp32: add ARM64_ILP32 to Kconfig
Philipp Tomsich (1):
arm64:ilp32: add vdso-ilp32 and use for signal return
Yury Norov (13):
compat ABI: use non-compat openat and open_by_handle_at variants
32-bit ABI: introduce ARCH_32BIT_OFF_T
ned-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Makefile | 5 +
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index b9a4a93..c89734d 100644
--- a/arch/arm64/Makefile
+++ b/
Like binfmt_elf32.c, binfmt_ilp32.c is needed to handle ILP32 binaries
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/binfmt_ilp32.c | 85
2 files changed, 86 insertions
After that, it will be possible to reuse it in ilp32.
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/signal_common.h | 33
arch/arm64/kernel/signal.c | 93 +-
2 files changed, 92 insertions(+), 34
compat_ptrace_request() for all
requests except PTRACE_GETSIGMASK and PTRACE_SETSIGMASK, which need
special handling.
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
Signed-off-by: Chengming Zhou
---
arch/arm64/kernel/ptrace.c | 65 --
1
From: Andrew Pinski
ILP32 uses AARCH32 compat structures and syscall handlers for signals.
But ILP32 struct rt_sigframe and ucontext differs from both LP64 and
AARCH32. So some specific mechanism is needed to take care of it.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
---
arch
From: Andrew Pinski
This patch adds the config option for ILP32.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Kconfig | 10 +-
1 file changed, 9 insertions(+), 1
From: Andrew Pinski
Add a separate syscall-table for ILP32, which dispatches either to native
LP64 system call implementation or to compat-syscalls, as appropriate.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/unistd.h
pages and spec.
Adjusted to move the data page before code pages in sync with
commit 601255ae3c98 ("arm64: vdso: move data page before code pages")
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
off_t is passed in register pair just like in aarch32.
In this patch corresponding aarch32 handlers are shared to
ilp32 code.
Signed-off-by: Yury Norov
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/entry32.S| 80 ---
arch/arm64/kernel
As we support more than one compat formats, it looks more reasonable
to not use fs/compat_binfmt.c. Custom binfmt_elf32.c allows to move aarch32
specific definitions there and make code more maintainable and readable.
Signed-off-by: Yury Norov
---
arch/arm64/Kconfig | 1 -
arch
accordingly.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/asm/elf.h | 2 ++
arch/arm64/include/asm/is_compat.h | 30 --
arch/arm64/include
ned-off-by: Yury Norov
---
include/linux/thread_bits.h | 63 +
include/linux/thread_info.h | 54 +-
2 files changed, 64 insertions(+), 53 deletions(-)
create mode 100644 include/linux/thread_bits.h
diff --git a/inc
-bit off_t, and therefore want to limit the file size
to 4GB unless specified differently in the open flags.
Signed-off-by: Yury Norov
---
arch/Kconfig| 4
arch/arc/Kconfig| 1 +
arch/arm/Kconfig| 1 +
arch/blackfin/Kconfig | 1 +
arch/cris/Kconfig | 1
because has already
included. It was fixed too.
Signed-off-by: Yury Norov
Signed-off-by: Andrew Pinski
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/compat.h | 19 ++-
arch/arm64/include/asm/elf.h | 10 +++---
arch/arm64/include/asm/ftrace.h | 2 +-
arch
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/uapi/asm/bitsperlong.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/include/uapi/asm/bitsperlong.h
b/arch/arm64/include/uapi/asm/bitsperlong.h
index
Signed-off-by: Yury Norov
---
arch/arm64/include/asm/signal32.h| 3 +
arch/arm64/include/asm/signal32_common.h | 27 +++
arch/arm64/kernel/Makefile | 2 +-
arch/arm64/kernel/signal32.c | 107
arch/arm64/kernel/signal32_common.c
]
Acked-by: Ley Foon Tan [nios2]
Acked-by: Stafford Horne [openrisc]
Acked-by: Vineet Gupta #arch/arc bits
Signed-off-by: Yury Norov
---
arch/arc/include/uapi/asm/unistd.h | 1 +
arch/arm64/include/uapi/asm/unistd.h | 1 +
arch/c6x/include/uapi/asm/unistd.h | 1 +
arch/h8300/includ
Based on Andrew Pinski's patch-series.
Signed-off-by: Yury Norov
---
Documentation/arm64/ilp32.txt | 45 +++
1 file changed, 45 insertions(+)
create mode 100644 Documentation/arm64/ilp32.txt
diff --git a/Documentation/arm64/ilp32.txt b/Document
The only difference is that non-compat version forces O_LARGEFILE,
and it should be the default behaviour for all architectures, as
we don't support 32-bit off_t. The only exception is tile32, that
continues with compat version of syscalls.
Signed-off-by: Yury Norov
Acked-by: Arnd Ber
see next patches),
and COMPAT indicates that one of them, or both, is enabled.
Where needed, CONFIG_COMPAT is changed over to use CONFIG_AARCH32_EL0 instead
Reviewed-by: David Daney
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
Signed-off-by: Philipp Tomsich
Signed-off-by: Christ
tches in 4.12?
This is the rebase of ILP32 on latest linux-next:
https://github.com/norov/linux/tree/ilp32-20170410
And glibc that I use for testing:
https://github.com/norov/glibc/commits/dev9
Yury
On Thu, Mar 02, 2017 at 12:49:08AM +0530, Yury Norov wrote:
> This series enables aarch64 wi
On Tue, Apr 11, 2017 at 12:33:35PM +0100, Catalin Marinas wrote:
> On Mon, Apr 10, 2017 at 11:47:40PM +0400, Yury Norov wrote:
> > According to latest plans figured out on Linaro Connect, ILP32 should
> > be taken in 4.12 merge window.
>
> Sorry, I wasn't present at Lin
> Also, the latest benchmarks I've seen were mostly for user space
> while I'm more concerned with the user-kernel interface
> (https://marc.info/?l=linux-arm-kernel&m=148690490713310&w=2).
> On the glibc testing side, have the regressions been identified/fixed?
I run LTP for testing the ABI and
On Tue, Apr 11, 2017 at 08:42:24PM +0200, Florian Weimer wrote:
> On 04/11/2017 08:36 PM, Yury Norov wrote:
> >>Also, the latest benchmarks I've seen were mostly for user space
> >>while I'm more concerned with the user-kernel interface
> >>(https://marc.in
The only difference is that non-compat version forces O_LARGEFILE,
and it should be the default behaviour for all architectures, as
we don't support 32-bit off_t. The only exception is tile32, that
continues with compat version of syscalls.
Signed-off-by: Yury Norov
Acked-by: Arnd Ber
-bit off_t, and therefore want to limit the file size
to 4GB unless specified differently in the open flags.
Signed-off-by: Yury Norov
Acked-by: Arnd Bergmann
---
arch/Kconfig| 4
arch/arc/Kconfig| 1 +
arch/arm/Kconfig| 1 +
arch/blackfin/Kconfig | 1 +
arch
nal return
Yury Norov (13):
compat ABI: use non-compat openat and open_by_handle_at variants
32-bit ABI: introduce ARCH_32BIT_OFF_T config option
asm-generic: Drop getrlimit and setrlimit syscalls from default list
arm64: ilp32: add documentation on the ILP32 ABI for ARM64
thread: move t
Based on Andrew Pinski's patch-series.
Signed-off-by: Yury Norov
---
Documentation/arm64/ilp32.txt | 45 +++
1 file changed, 45 insertions(+)
create mode 100644 Documentation/arm64/ilp32.txt
diff --git a/Documentation/arm64/ilp32.txt b/Document
nn
Cc: [email protected]
Cc: Chen Liqin
Cc: Lennox Wu
Cc: Chris Metcalf
Cc: Guan Xuetao
Cc: Ley Foon Tan
Cc: [email protected]
Cc: Yoshinori Sato
Cc: [email protected]
Signed-off-by: Yury Norov
Acked-by: Arnd Bergmann
Acked-by: Mark Salter [c6x]
Acked
ned-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Makefile | 5 +
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index f839ecd919f9..5ddfb3140f7a 100644
--- a/arch/arm64/Make
see next patches),
and COMPAT indicates that one of them, or both, is enabled.
Where needed, CONFIG_COMPAT is changed over to use CONFIG_AARCH32_EL0 instead
Reviewed-by: David Daney
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
Signed-off-by: Philipp Tomsich
Signed-off-by: Christ
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/uapi/asm/bitsperlong.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/include/uapi/asm/bitsperlong.h
b/arch/arm64/include/uapi/asm/bitsperlong.h
index
accordingly.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/asm/elf.h | 2 ++
arch/arm64/include/asm/is_compat.h | 30 --
arch/arm64/include
ned-off-by: Yury Norov
---
include/linux/thread_bits.h | 63 +++
include/linux/thread_info.h | 66 +
2 files changed, 75 insertions(+), 54 deletions(-)
create mode 100644 include/linux/thread_bits.h
diff --git
because has already
included. It was fixed too.
Signed-off-by: Yury Norov
Signed-off-by: Andrew Pinski
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/compat.h | 19 ++-
arch/arm64/include/asm/elf.h | 10 +++---
arch/arm64/include/asm/ftrace.h | 2 +-
arch
As we support more than one compat formats, it looks more reasonable
to not use fs/compat_binfmt.c. Custom binfmt_elf32.c allows to move aarch32
specific definitions there and make code more maintainable and readable.
Signed-off-by: Yury Norov
---
arch/arm64/Kconfig | 1 -
arch
compat_ptrace_request() for all
requests except PTRACE_GETSIGMASK and PTRACE_SETSIGMASK, which need
special handling.
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
Signed-off-by: Chengming Zhou
---
arch/arm64/kernel/ptrace.c | 65 --
1
From: Andrew Pinski
Add a separate syscall-table for ILP32, which dispatches either to native
LP64 system call implementation or to compat-syscalls, as appropriate.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/unistd.h
Like binfmt_elf32.c, binfmt_ilp32.c is needed to handle ILP32 binaries
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/binfmt_ilp32.c | 85
2 files changed, 86 insertions
From: Andrew Pinski
ILP32 uses AARCH32 compat structures and syscall handlers for signals.
But ILP32 struct rt_sigframe and ucontext differs from both LP64 and
AARCH32. So some specific mechanism is needed to take care of it.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
---
arch
After that, it will be possible to reuse it in ilp32.
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/signal_common.h | 33
arch/arm64/kernel/signal.c | 93 +-
2 files changed, 92 insertions(+), 34
Signed-off-by: Yury Norov
---
arch/arm64/include/asm/signal32.h| 3 +
arch/arm64/include/asm/signal32_common.h | 27 +++
arch/arm64/kernel/Makefile | 2 +-
arch/arm64/kernel/signal32.c | 107
arch/arm64/kernel/signal32_common.c
off_t is passed in register pair just like in aarch32.
In this patch corresponding aarch32 handlers are shared to
ilp32 code.
Signed-off-by: Yury Norov
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/entry32.S| 80 ---
arch/arm64/kernel
correct pages and spec.
Adjusted to move the data page before code pages in sync with
commit 601255ae3c98 ("arm64: vdso: move data page before code pages")
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
From: Andrew Pinski
This patch adds the config option for ILP32.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Kconfig | 10 +-
1 file changed, 9 insertions(+), 1
On Mon, Jun 05, 2017 at 03:44:06PM +0100, James Hogan wrote:
> Hi Yury,
>
> On Sun, Jun 04, 2017 at 02:59:52PM +0300, Yury Norov wrote:
> > The newer prlimit64 syscall provides all the functionality provided by
> > the getrlimit and setrlimit syscalls and adds the pid of t
Hi Catalin, thanks for review.
On Thu, Jun 08, 2017 at 03:09:12PM +0100, Catalin Marinas wrote:
> On Sun, Jun 04, 2017 at 02:59:54PM +0300, Yury Norov wrote:
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -402,7 +402,7 @@ config ARM64_ERRATUM_834
On Thu, Jun 08, 2017 at 04:24:34PM +0100, Catalin Marinas wrote:
> On Sun, Jun 04, 2017 at 03:00:08PM +0300, Yury Norov wrote:
> > From: Philipp Tomsich
> >
> > ILP32 VDSO exports following symbols:
> > __kernel_rt_sigreturn;
> > __kernel_gettimeo
On Thu, Jun 08, 2017 at 04:05:36PM +0100, James Morse wrote:
> Hi Yury,
>
> On 04/06/17 13:00, Yury Norov wrote:
> > From: Andrew Pinski
> >
> > Add a separate syscall-table for ILP32, which dispatches either to native
> > LP64 system call implementation or t
On Thu, Jun 08, 2017 at 04:09:50PM +0100, Catalin Marinas wrote:
> On Sun, Jun 04, 2017 at 02:59:51PM +0300, Yury Norov wrote:
> > All new 32-bit architectures should have 64-bit off_t type, but existing
> > architectures has 32-bit ones.
> >
> > To handle it, new con
eries)
If nothing will come here on review, I'll send v8 at the beginning of
the next week. Is this plan OK?
And this is the backport on the v4.11 kernel:
https://github.com/norov/linux/commits/ilp32-4.11.4
Yury
On Sun, Jun 04, 2017 at 02:59:49PM +0300, Yury Norov wrote:
> Subject: [PATC
it
arm64: ilp32: introduce ilp32-specific handlers for sigframe and
ucontext
arm64:ilp32: add ARM64_ILP32 to Kconfig
Philipp Tomsich (1):
arm64:ilp32: add vdso-ilp32 and use for signal return
Yury Norov (13):
compat ABI: use non-compat openat and open_by_handle_at variants
32-bit use
The only difference is that non-compat version forces O_LARGEFILE,
and it should be the default behaviour for all architectures, as
we are going to drop the support of 32-bit userspace off_t.
The exception is tile32 that continues with compat version of syscalls.
Signed-off-by: Yury Norov
Acked
),
a libc may use 32-bit off_t, and therefore want to limit the file size
to 4GB unless specified differently in the open flags.
Signed-off-by: Yury Norov
Acked-by: Arnd Bergmann
---
arch/Kconfig| 15 +++
arch/arc/Kconfig| 1 +
arch/arm/Kconfig| 1 +
arch
nn
Cc: [email protected]
Cc: Chen Liqin
Cc: Lennox Wu
Cc: Chris Metcalf
Cc: Guan Xuetao
Cc: Ley Foon Tan
Cc: [email protected]
Cc: Yoshinori Sato
Cc: [email protected]
Signed-off-by: Yury Norov
Acked-by: Arnd Bergmann
Acked-by: Mark Salter [c6x]
Acked
Based on Andrew Pinski's patch-series.
Signed-off-by: Yury Norov
---
Documentation/arm64/ilp32.txt | 45 +++
1 file changed, 45 insertions(+)
create mode 100644 Documentation/arm64/ilp32.txt
diff --git a/Documentation/arm64/ilp32.txt b/Document
ABI (see following
patches), and COMPAT indicates that one of them or both is enabled.
Where needed, CONFIG_COMPAT is changed over to use CONFIG_AARCH32_EL0 instead
Reviewed-by: David Daney
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
Signed-off-by: Philipp Tomsich
Signed-off-by: Christ
ned-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Makefile | 5 +
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index 1ce57b42f390..807451ffcc29 100644
--- a/arch/arm64/Make
because has already
included. It was fixed too.
Signed-off-by: Yury Norov
Signed-off-by: Andrew Pinski
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/compat.h | 19 ++-
arch/arm64/include/asm/elf.h | 10 +++---
arch/arm64/include/asm/ftrace.h | 2 +-
arch
accordingly.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/asm/elf.h | 2 ++
arch/arm64/include/asm/is_compat.h | 30 --
arch/arm64/include
As we support more than one compat formats, it looks more reasonable
to not use fs/compat_binfmt.c. Custom binfmt_elf32.c allows to move aarch32
specific definitions there and make code more maintainable and readable.
Signed-off-by: Yury Norov
---
arch/arm64/Kconfig | 1 -
arch
Like binfmt_elf32.c, binfmt_ilp32.c is needed to handle ILP32 binaries.
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/binfmt_ilp32.c | 85
2 files changed, 86 insertions
From: Andrew Pinski
Add a separate syscall-table for ILP32, which dispatches either to native
LP64 system call implementation or to compat-syscalls, as appropriate.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/unistd.h
From: Andrew Pinski
This patch adds the config option for ILP32.
Signed-off-by: Andrew Pinski
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/Kconfig | 9 -
1 file changed, 8 insertions(+), 1
From: Andrew Pinski
ILP32 uses AARCH32 compat structures and syscall handlers for signals.
But ILP32 struct rt_sigframe and ucontext differs from both LP64 and
AARCH32. So some specific mechanism is needed to take care of it.
Signed-off-by: Andrew Pinski
Signed-off-by: Yury Norov
---
arch
compat_ptrace_request() for all
requests except PTRACE_GETSIGMASK and PTRACE_SETSIGMASK, which need
special handling.
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
Signed-off-by: Chengming Zhou
---
arch/arm64/kernel/ptrace.c | 65 --
1
Signed-off-by: Yury Norov
---
arch/arm64/include/asm/signal32.h| 3 +
arch/arm64/include/asm/signal32_common.h | 27 +++
arch/arm64/kernel/Makefile | 2 +-
arch/arm64/kernel/signal32.c | 107
arch/arm64/kernel/signal32_common.c
correct pages and spec.
Adjusted to move the data page before code pages in sync with
commit 601255ae3c98 ("arm64: vdso: move data page before code pages")
Signed-off-by: Philipp Tomsich
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
After that, it will be possible to reuse it in ilp32.
Signed-off-by: Yury Norov
Signed-off-by: Bamvor Jian Zhang
---
arch/arm64/include/asm/signal_common.h | 33
arch/arm64/kernel/signal.c | 93 +-
2 files changed, 92 insertions(+), 34
According to userspace/kernel ABI, userspace off_t is passed in register pair
just like in aarch32. In this patch corresponding aarch32 handlers
are shared to ilp32 code.
Signed-off-by: Yury Norov
---
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/entry32.S| 80
Signed-off-by: Christoph Muellner
Signed-off-by: Yury Norov
Reviewed-by: David Daney
---
arch/arm64/include/uapi/asm/bitsperlong.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/include/uapi/asm/bitsperlong.h
b/arch/arm64/include/uapi/asm/bitsperlong.h
index
ned-off-by: Yury Norov
---
include/linux/thread_bits.h | 63 +++
include/linux/thread_info.h | 65 +
2 files changed, 75 insertions(+), 53 deletions(-)
create mode 100644 include/linux/thread_bits.h
diff --git
1 - 100 of 345 matches
Mail list logo