linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 00/24] ILP32 Support in ARM64
@ 2014-05-24  7:01 Andrew Pinski
  2014-05-24  7:01 ` [PATCH 01/24] ARM64: Force LP64 to compile the kernel Andrew Pinski
  2014-05-24  7:01 ` [PATCH 02/24] ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig Andrew Pinski
  0 siblings, 2 replies; 8+ messages in thread
From: Andrew Pinski @ 2014-05-24  7:01 UTC (permalink / raw)
  To: linux-arm-kernel

New version of the patches with documentation, signal changes are simplified, using less compat syscalls and splitting up the patches so it is easier to review.  I have tested LTP on both LP64 and ILP32.  There is a few LTP failures but they are due to LTP being incorrect (sigaction structure 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

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 of the
    same syscalls as LP64.
  ARM64:UAPI: Set the correct __BITS_PER_LONG for ILP32.
  Allow for some signal structures to be the same between a 32bit ABI
    and the 64bit ABI.
  ARM64:ILP32: Use the same size and layout of the signal structures
    for ILP32 as for LP64.
  Allow a 32bit ABI to use the naming of the 64bit ABI syscalls to
    avoid confusion of not splitting the registers.
  ARM64:ILP32: Use the same syscall names as LP64.
  ARM64: Introduce is_a32_task and is_a32_thread. Use them in the
    correct locations.
  ARM64: Add ARM64_ILP32 to Kconfig.
  ARM64: Add is_ilp32_compat_task and is_ilp32_compat_thread and
    TIF_32BIT_AARCH64.
  Drivers:input: Use is_compat_task for ARM64 also.
  ARM64:ILP32: COMPAT_USE_64BIT_TIME is true for ILP32 tasks.
  ARM64:ILP32: Use the non compat HWCAP for ILP32.
  ARM64:ILP32 use the standard start_thread for ILP32 so the processor
    state is not AARCH32.
  ARM64:ILP32: Support core dump for ILP32.
  ARM64: Add loading of ILP32 binaries.
  ARM64: Add vdso for ILP32 and use it for the signal return.
  ptrace: Allow compat to use the native siginfo.
  ARM64:ILP32: The native siginfo is used instead of the compat
    siginfo.
  ARM64:ILP32: Use a seperate syscall table as a few syscalls need to
    be using the compat syscalls.
  ARM64:ILP32: Fix signal return for ILP32 when the user modified the
    signal stack.
  Add documentation about ARM64 ILP32 ABI.

 Documentation/arm64/ilp32.txt                 |   57 ++++++++
 arch/arm64/Kconfig                            |   15 ++-
 arch/arm64/Makefile                           |    4 +
 arch/arm64/include/asm/Kbuild                 |    1 -
 arch/arm64/include/asm/arch_timer.h           |    2 +-
 arch/arm64/include/asm/compat.h               |   65 +++++++++-
 arch/arm64/include/asm/elf.h                  |  101 +++++++++++++--
 arch/arm64/include/asm/fpsimd.h               |    2 +-
 arch/arm64/include/asm/hwcap.h                |   12 ++-
 arch/arm64/include/asm/memory.h               |    2 +-
 arch/arm64/include/asm/processor.h            |   11 ++-
 arch/arm64/include/asm/ptrace.h               |    2 +-
 arch/arm64/include/asm/signal32.h             |    2 +
 arch/arm64/include/asm/stat.h                 |    2 +
 arch/arm64/include/asm/syscalls.h             |    4 +
 arch/arm64/include/asm/thread_info.h          |    3 +-
 arch/arm64/include/asm/unistd.h               |    6 +-
 arch/arm64/include/asm/vdso.h                 |    4 +
 arch/arm64/include/uapi/asm/bitsperlong.h     |    7 +-
 arch/arm64/include/uapi/asm/posix_types.h     |   12 ++
 arch/arm64/include/uapi/asm/siginfo.h         |   21 +++
 arch/arm64/include/uapi/asm/signal.h          |   32 +++++
 arch/arm64/include/uapi/asm/unistd.h          |    7 +
 arch/arm64/kernel/Makefile                    |    8 +-
 arch/arm64/kernel/asm-offsets.c               |    2 +-
 arch/arm64/kernel/entry.S                     |   19 ++-
 arch/arm64/kernel/head.S                      |    2 +-
 arch/arm64/kernel/hw_breakpoint.c             |    6 +-
 arch/arm64/kernel/process.c                   |    6 +-
 arch/arm64/kernel/ptrace.c                    |   51 +++++---
 arch/arm64/kernel/signal.c                    |   33 +++++-
 arch/arm64/kernel/sys_ilp32.c                 |  175 +++++++++++++++++++++++++
 arch/arm64/kernel/traps.c                     |    4 +-
 arch/arm64/kernel/vdso-ilp32/.gitignore       |    2 +
 arch/arm64/kernel/vdso-ilp32/Makefile         |   72 ++++++++++
 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S     |   33 +++++
 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S |  100 ++++++++++++++
 arch/arm64/kernel/vdso.c                      |   59 +++++++--
 drivers/input/input-compat.h                  |    2 +-
 include/linux/compat.h                        |    4 +
 include/uapi/asm-generic/siginfo.h            |   17 ++-
 include/uapi/asm-generic/signal.h             |   27 ++++-
 include/uapi/asm-generic/unistd.h             |    5 +-
 kernel/ptrace.c                               |   24 +++-
 44 files changed, 935 insertions(+), 90 deletions(-)
 create mode 100644 Documentation/arm64/ilp32.txt
 create mode 100644 arch/arm64/include/uapi/asm/posix_types.h
 create mode 100644 arch/arm64/kernel/sys_ilp32.c
 create mode 100644 arch/arm64/kernel/vdso-ilp32/.gitignore
 create mode 100644 arch/arm64/kernel/vdso-ilp32/Makefile
 create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S
 create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S

-- 
1.7.2.5

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 01/24] ARM64: Force LP64 to compile the kernel.
  2014-05-24  7:01 [PATCHv2 00/24] ILP32 Support in ARM64 Andrew Pinski
@ 2014-05-24  7:01 ` Andrew Pinski
  2014-05-24  7:01 ` [PATCH 02/24] ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig Andrew Pinski
  1 sibling, 0 replies; 8+ messages in thread
From: Andrew Pinski @ 2014-05-24  7:01 UTC (permalink / raw)
  To: linux-arm-kernel

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 <apinski@cavium.com>
---
 arch/arm64/Makefile |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index 2fceb71..e9dbd20 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -20,14 +20,18 @@ LIBGCC 		:= $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
 KBUILD_DEFCONFIG := defconfig
 
 KBUILD_CFLAGS	+= -mgeneral-regs-only
+KBUILD_CFLAGS	+= $(call cc-option,-mabi=lp64)
+KBUILD_AFLAGS	+= $(call cc-option,-mabi=lp64)
 ifeq ($(CONFIG_CPU_BIG_ENDIAN), y)
 KBUILD_CPPFLAGS	+= -mbig-endian
 AS		+= -EB
 LD		+= -EB
+LDFLAGS		+= -maarch64linuxb
 else
 KBUILD_CPPFLAGS	+= -mlittle-endian
 AS		+= -EL
 LD		+= -EL
+LDFLAGS		+= -maarch64linux
 endif
 
 comma = ,
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 02/24] ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig.
  2014-05-24  7:01 [PATCHv2 00/24] ILP32 Support in ARM64 Andrew Pinski
  2014-05-24  7:01 ` [PATCH 01/24] ARM64: Force LP64 to compile the kernel Andrew Pinski
@ 2014-05-24  7:01 ` Andrew Pinski
  1 sibling, 0 replies; 8+ messages in thread
From: Andrew Pinski @ 2014-05-24  7:01 UTC (permalink / raw)
  To: linux-arm-kernel

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 <apinski@cavium.com>
---
 arch/arm64/Kconfig |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index e759af5..032c712 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -287,9 +287,13 @@ menu "Userspace binary formats"
 source "fs/Kconfig.binfmt"
 
 config COMPAT
+	def_bool y
+	depends on AARCH32_EL0
+	select COMPAT_BINFMT_ELF
+
+config AARCH32_EL0
 	bool "Kernel support for 32-bit EL0"
 	depends on !ARM64_64K_PAGES
-	select COMPAT_BINFMT_ELF
 	select HAVE_UID16
 	select OLD_SIGSUSPEND3
 	select COMPAT_OLD_SIGACTION
@@ -303,7 +307,7 @@ config COMPAT
 
 config SYSVIPC_COMPAT
 	def_bool y
-	depends on COMPAT && SYSVIPC
+	depends on AARCH32_EL0 && SYSVIPC
 
 endmenu
 
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCHv2 00/24] ILP32 Support in ARM64
@ 2014-05-24  7:01 Andrew Pinski
  2014-06-16 17:08 ` Catalin Marinas
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Pinski @ 2014-05-24  7:01 UTC (permalink / raw)
  To: linux-arm-kernel

New version of the patches with documentation, signal changes are simplified, using less compat syscalls and splitting up the patches so it is easier to review.  I have tested LTP on both LP64 and ILP32.  There is a few LTP failures but they are due to LTP being incorrect (sigaction structure 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

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 of the
    same syscalls as LP64.
  ARM64:UAPI: Set the correct __BITS_PER_LONG for ILP32.
  Allow for some signal structures to be the same between a 32bit ABI
    and the 64bit ABI.
  ARM64:ILP32: Use the same size and layout of the signal structures
    for ILP32 as for LP64.
  Allow a 32bit ABI to use the naming of the 64bit ABI syscalls to
    avoid confusion of not splitting the registers.
  ARM64:ILP32: Use the same syscall names as LP64.
  ARM64: Introduce is_a32_task and is_a32_thread. Use them in the
    correct locations.
  ARM64: Add ARM64_ILP32 to Kconfig.
  ARM64: Add is_ilp32_compat_task and is_ilp32_compat_thread and
    TIF_32BIT_AARCH64.
  Drivers:input: Use is_compat_task for ARM64 also.
  ARM64:ILP32: COMPAT_USE_64BIT_TIME is true for ILP32 tasks.
  ARM64:ILP32: Use the non compat HWCAP for ILP32.
  ARM64:ILP32 use the standard start_thread for ILP32 so the processor
    state is not AARCH32.
  ARM64:ILP32: Support core dump for ILP32.
  ARM64: Add loading of ILP32 binaries.
  ARM64: Add vdso for ILP32 and use it for the signal return.
  ptrace: Allow compat to use the native siginfo.
  ARM64:ILP32: The native siginfo is used instead of the compat
    siginfo.
  ARM64:ILP32: Use a seperate syscall table as a few syscalls need to
    be using the compat syscalls.
  ARM64:ILP32: Fix signal return for ILP32 when the user modified the
    signal stack.
  Add documentation about ARM64 ILP32 ABI.

 Documentation/arm64/ilp32.txt                 |   57 ++++++++
 arch/arm64/Kconfig                            |   15 ++-
 arch/arm64/Makefile                           |    4 +
 arch/arm64/include/asm/Kbuild                 |    1 -
 arch/arm64/include/asm/arch_timer.h           |    2 +-
 arch/arm64/include/asm/compat.h               |   65 +++++++++-
 arch/arm64/include/asm/elf.h                  |  101 +++++++++++++--
 arch/arm64/include/asm/fpsimd.h               |    2 +-
 arch/arm64/include/asm/hwcap.h                |   12 ++-
 arch/arm64/include/asm/memory.h               |    2 +-
 arch/arm64/include/asm/processor.h            |   11 ++-
 arch/arm64/include/asm/ptrace.h               |    2 +-
 arch/arm64/include/asm/signal32.h             |    2 +
 arch/arm64/include/asm/stat.h                 |    2 +
 arch/arm64/include/asm/syscalls.h             |    4 +
 arch/arm64/include/asm/thread_info.h          |    3 +-
 arch/arm64/include/asm/unistd.h               |    6 +-
 arch/arm64/include/asm/vdso.h                 |    4 +
 arch/arm64/include/uapi/asm/bitsperlong.h     |    7 +-
 arch/arm64/include/uapi/asm/posix_types.h     |   12 ++
 arch/arm64/include/uapi/asm/siginfo.h         |   21 +++
 arch/arm64/include/uapi/asm/signal.h          |   32 +++++
 arch/arm64/include/uapi/asm/unistd.h          |    7 +
 arch/arm64/kernel/Makefile                    |    8 +-
 arch/arm64/kernel/asm-offsets.c               |    2 +-
 arch/arm64/kernel/entry.S                     |   19 ++-
 arch/arm64/kernel/head.S                      |    2 +-
 arch/arm64/kernel/hw_breakpoint.c             |    6 +-
 arch/arm64/kernel/process.c                   |    6 +-
 arch/arm64/kernel/ptrace.c                    |   51 +++++---
 arch/arm64/kernel/signal.c                    |   33 +++++-
 arch/arm64/kernel/sys_ilp32.c                 |  175 +++++++++++++++++++++++++
 arch/arm64/kernel/traps.c                     |    4 +-
 arch/arm64/kernel/vdso-ilp32/.gitignore       |    2 +
 arch/arm64/kernel/vdso-ilp32/Makefile         |   72 ++++++++++
 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S     |   33 +++++
 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S |  100 ++++++++++++++
 arch/arm64/kernel/vdso.c                      |   59 +++++++--
 drivers/input/input-compat.h                  |    2 +-
 include/linux/compat.h                        |    4 +
 include/uapi/asm-generic/siginfo.h            |   17 ++-
 include/uapi/asm-generic/signal.h             |   27 ++++-
 include/uapi/asm-generic/unistd.h             |    5 +-
 kernel/ptrace.c                               |   24 +++-
 44 files changed, 935 insertions(+), 90 deletions(-)
 create mode 100644 Documentation/arm64/ilp32.txt
 create mode 100644 arch/arm64/include/uapi/asm/posix_types.h
 create mode 100644 arch/arm64/kernel/sys_ilp32.c
 create mode 100644 arch/arm64/kernel/vdso-ilp32/.gitignore
 create mode 100644 arch/arm64/kernel/vdso-ilp32/Makefile
 create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S
 create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S

-- 
1.7.2.5

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCHv2 00/24] ILP32 Support in ARM64
  2014-05-24  7:01 [PATCHv2 00/24] ILP32 Support in ARM64 Andrew Pinski
@ 2014-06-16 17:08 ` Catalin Marinas
  2014-06-16 17:19   ` Pinski, Andrew
  0 siblings, 1 reply; 8+ messages in thread
From: Catalin Marinas @ 2014-06-16 17:08 UTC (permalink / raw)
  To: linux-arm-kernel

Andrew,

On Sat, May 24, 2014 at 12:01:55AM -0700, Andrew Pinski wrote:
> New version of the patches with documentation, signal changes are
> simplified, using less compat syscalls and splitting up the patches so
> it is easier to review.  I have tested LTP on both LP64 and ILP32.
> There is a few LTP failures but they are due to LTP being incorrect
> (sigaction structure in glibc is not the one which is used by the
> kernel)

Do you have more details about what's wrong here and where the fix
should go? LTP? glibc? Kernel?

I'll give you more specific comments on the code in the next couple of
days. But for cosmetics, please wrap the lines around 72 (or whatever)
characters both in emails, commit logs and Documentation/* files (and
you can drop the "Thanks" part in every commit log ;)).

> 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 of the
>     same syscalls as LP64.
>   ARM64:UAPI: Set the correct __BITS_PER_LONG for ILP32.
>   Allow for some signal structures to be the same between a 32bit ABI
>     and the 64bit ABI.
>   ARM64:ILP32: Use the same size and layout of the signal structures
>     for ILP32 as for LP64.
>   Allow a 32bit ABI to use the naming of the 64bit ABI syscalls to
>     avoid confusion of not splitting the registers.
>   ARM64:ILP32: Use the same syscall names as LP64.
>   ARM64: Introduce is_a32_task and is_a32_thread. Use them in the
>     correct locations.
>   ARM64: Add ARM64_ILP32 to Kconfig.

Does this patch need to be in the middle of the series? It should come
after the ILP32 support is complete.

Thanks.

-- 
Catalin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCHv2 00/24] ILP32 Support in ARM64
  2014-06-16 17:08 ` Catalin Marinas
@ 2014-06-16 17:19   ` Pinski, Andrew
  2014-06-17 10:43     ` Catalin Marinas
  0 siblings, 1 reply; 8+ messages in thread
From: Pinski, Andrew @ 2014-06-16 17:19 UTC (permalink / raw)
  To: linux-arm-kernel



> On Jun 16, 2014, at 10:08 AM, "Catalin Marinas" <catalin.marinas@arm.com> wrote:
> 
> Andrew,
> 
>> On Sat, May 24, 2014 at 12:01:55AM -0700, Andrew Pinski wrote:
>> New version of the patches with documentation, signal changes are
>> simplified, using less compat syscalls and splitting up the patches so
>> it is easier to review.  I have tested LTP on both LP64 and ILP32.
>> There is a few LTP failures but they are due to LTP being incorrect
>> (sigaction structure in glibc is not the one which is used by the
>> kernel)
> 
> Do you have more details about what's wrong here and where the fix
> should go? LTP? glibc? Kernel?

LTP assumes some sigaction structure is the same between userland and kernel.
Glibc has the correct idea of what the kernel structure will be when passing to the kernel already. The fix should be done in LTP. There is already code in LTP for x86 for a similar issue which we should be able to advantage of. 

> 
> I'll give you more specific comments on the code in the next couple of
> days. But for cosmetics, please wrap the lines around 72 (or whatever)
> characters both in emails, commit logs and Documentation/* files (and
> you can drop the "Thanks" part in every commit log ;)).

Will do this with the rest of the review. 

> 
>> 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 of the
>>    same syscalls as LP64.
>>  ARM64:UAPI: Set the correct __BITS_PER_LONG for ILP32.
>>  Allow for some signal structures to be the same between a 32bit ABI
>>    and the 64bit ABI.
>>  ARM64:ILP32: Use the same size and layout of the signal structures
>>    for ILP32 as for LP64.
>>  Allow a 32bit ABI to use the naming of the 64bit ABI syscalls to
>>    avoid confusion of not splitting the registers.
>>  ARM64:ILP32: Use the same syscall names as LP64.
>>  ARM64: Introduce is_a32_task and is_a32_thread. Use them in the
>>    correct locations.
>>  ARM64: Add ARM64_ILP32 to Kconfig.
> 
> Does this patch need to be in the middle of the series? It should come
> after the ILP32 support is complete.


Ok, I will move it. I had added in the middle to test the newly added code. 

Thanks,
Andrew

> 
> Thanks.
> 
> -- 
> Catalin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCHv2 00/24] ILP32 Support in ARM64
  2014-06-16 17:19   ` Pinski, Andrew
@ 2014-06-17 10:43     ` Catalin Marinas
  2014-06-17 11:30       ` Pinski, Andrew
  0 siblings, 1 reply; 8+ messages in thread
From: Catalin Marinas @ 2014-06-17 10:43 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 16, 2014 at 05:19:32PM +0000, Pinski, Andrew wrote:
> > On Jun 16, 2014, at 10:08 AM, "Catalin Marinas" <catalin.marinas@arm.com> wrote:
> >> On Sat, May 24, 2014 at 12:01:55AM -0700, Andrew Pinski wrote:
> >> New version of the patches with documentation, signal changes are
> >> simplified, using less compat syscalls and splitting up the patches so
> >> it is easier to review.  I have tested LTP on both LP64 and ILP32.
> >> There is a few LTP failures but they are due to LTP being incorrect
> >> (sigaction structure in glibc is not the one which is used by the
> >> kernel)
> > 
> > Do you have more details about what's wrong here and where the fix
> > should go? LTP? glibc? Kernel?
> 
> LTP assumes some sigaction structure is the same between userland and kernel.
> Glibc has the correct idea of what the kernel structure will be when
> passing to the kernel already. The fix should be done in LTP. There is
> already code in LTP for x86 for a similar issue which we should be
> able to advantage of. 

OK. I guess you are planning to submit the LTP patch at some point (once
kernel and glibc changes are agreed).

Any plans for big-endian ILP32?

> > I'll give you more specific comments on the code in the next couple of
> > days. But for cosmetics, please wrap the lines around 72 (or whatever)
> > characters both in emails, commit logs and Documentation/* files (and
> > you can drop the "Thanks" part in every commit log ;)).

I forgot to mention dropping the full stop at the end of every subject.

> Will do this with the rest of the review. 

More coding style issues: please have a look at
Documentation/CodingStyle. While I'm not usually bothered with minor
aspects, I would like at least some consistency for multi-line comment
style.

Also please get the patches through checkpatch.pl (it doesn't need to be
100% pass but it gives some clues).

There are a few #defines you added without corresponding brackets (hpa
commented on one already).

-- 
Catalin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCHv2 00/24] ILP32 Support in ARM64
  2014-06-17 10:43     ` Catalin Marinas
@ 2014-06-17 11:30       ` Pinski, Andrew
  0 siblings, 0 replies; 8+ messages in thread
From: Pinski, Andrew @ 2014-06-17 11:30 UTC (permalink / raw)
  To: linux-arm-kernel



> On Jun 17, 2014, at 3:48 AM, "Catalin Marinas" <catalin.marinas@arm.com> wrote:
> 
> On Mon, Jun 16, 2014 at 05:19:32PM +0000, Pinski, Andrew wrote:
>>>> On Jun 16, 2014, at 10:08 AM, "Catalin Marinas" <catalin.marinas@arm.com> wrote:
>>>> On Sat, May 24, 2014 at 12:01:55AM -0700, Andrew Pinski wrote:
>>>> New version of the patches with documentation, signal changes are
>>>> simplified, using less compat syscalls and splitting up the patches so
>>>> it is easier to review.  I have tested LTP on both LP64 and ILP32.
>>>> There is a few LTP failures but they are due to LTP being incorrect
>>>> (sigaction structure in glibc is not the one which is used by the
>>>> kernel)
>>> 
>>> Do you have more details about what's wrong here and where the fix
>>> should go? LTP? glibc? Kernel?
>> 
>> LTP assumes some sigaction structure is the same between userland and kernel.
>> Glibc has the correct idea of what the kernel structure will be when
>> passing to the kernel already. The fix should be done in LTP. There is
>> already code in LTP for x86 for a similar issue which we should be
>> able to advantage of. 
> 
> OK. I guess you are planning to submit the LTP patch at some point (once
> kernel and glibc changes are agreed).
> 
> Any plans for big-endian ILP32?

The support is there already and ltp results are no difference from little-endian. 

> 
>>> I'll give you more specific comments on the code in the next couple of
>>> days. But for cosmetics, please wrap the lines around 72 (or whatever)
>>> characters both in emails, commit logs and Documentation/* files (and
>>> you can drop the "Thanks" part in every commit log ;)).
> 
> I forgot to mention dropping the full stop at the end of every subject.
> 
>> Will do this with the rest of the review. 
> 
> More coding style issues: please have a look at
> Documentation/CodingStyle. While I'm not usually bothered with minor
> aspects, I would like at least some consistency for multi-line comment
> style.
> 
> Also please get the patches through checkpatch.pl (it doesn't need to be
> 100% pass but it gives some clues).

I did run them through checkpatch already. The only warnings left were over 80 column warnings. 


> 
> There are a few #defines you added without corresponding brackets (hpa
> commented on one already).

Checkpatch did not warn about these but I will fix them.

Thanks,
Andrew


> 
> -- 
> Catalin

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-06-17 11:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-24  7:01 [PATCHv2 00/24] ILP32 Support in ARM64 Andrew Pinski
2014-05-24  7:01 ` [PATCH 01/24] ARM64: Force LP64 to compile the kernel Andrew Pinski
2014-05-24  7:01 ` [PATCH 02/24] ARM64: Rename COMPAT to AARCH32_EL0 in Kconfig Andrew Pinski
  -- strict thread matches above, loose matches on Subject: below --
2014-05-24  7:01 [PATCHv2 00/24] ILP32 Support in ARM64 Andrew Pinski
2014-06-16 17:08 ` Catalin Marinas
2014-06-16 17:19   ` Pinski, Andrew
2014-06-17 10:43     ` Catalin Marinas
2014-06-17 11:30       ` Pinski, Andrew

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).