Re: PER_LINUX32, Was: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-28 Thread Jiri Kosina
On Thu, 23 Aug 2012, Arnd Bergmann wrote: > > > > +asmlinkage int compat_sys_personality(compat_ulong_t personality) > > > > +{ > > > > + int ret; > > > > + > > > > + if (personality(current->personality) == PER_LINUX32 && > > > > + personality == PER_LINUX) > > > > +

Re: PER_LINUX32, Was: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-28 Thread Jiri Kosina
On Thu, 23 Aug 2012, Arnd Bergmann wrote: +asmlinkage int compat_sys_personality(compat_ulong_t personality) +{ + int ret; + + if (personality(current-personality) == PER_LINUX32 + personality == PER_LINUX) + personality =

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-25 Thread Arnd Bergmann
On Friday 24 August 2012, Catalin Marinas wrote: > > What good is the run-time BUG() here? Nothing should be calling these > > when CONFIG_COMPAT is disabled, so I think you should just remove > > the #ifdef around the declarations, and the entire #else case. > > They are called from

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-25 Thread Arnd Bergmann
On Friday 24 August 2012, Catalin Marinas wrote: What good is the run-time BUG() here? Nothing should be calling these when CONFIG_COMPAT is disabled, so I think you should just remove the #ifdef around the declarations, and the entire #else case. They are called from handle_signal(), so

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-24 Thread Catalin Marinas
On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: > On Tuesday 14 August 2012, Catalin Marinas wrote: > > > +#ifdef CONFIG_AARCH32_EMULATION > > +#include > > + > > +#define AARCH32_KERN_SIGRET_CODE_OFFSET0x500 > > + > > +extern const compat_ulong_t aarch32_sigret_code[6]; > > +

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-24 Thread Catalin Marinas
On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: On Tuesday 14 August 2012, Catalin Marinas wrote: +#ifdef CONFIG_AARCH32_EMULATION +#include linux/compat.h + +#define AARCH32_KERN_SIGRET_CODE_OFFSET0x500 + +extern const compat_ulong_t aarch32_sigret_code[6]; +

Re: PER_LINUX32, Was: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-23 Thread Catalin Marinas
On Thu, Aug 23, 2012 at 07:46:30AM +0100, Arnd Bergmann wrote: > On Thursday 16 August 2012, Will Deacon wrote: > > On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: > > > On Tuesday 14 August 2012, Catalin Marinas wrote: > > > > +asmlinkage int compat_sys_personality(compat_ulong_t

PER_LINUX32, Was: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-23 Thread Arnd Bergmann
On Thursday 16 August 2012, Will Deacon wrote: > On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: > > On Tuesday 14 August 2012, Catalin Marinas wrote: > > > +asmlinkage int compat_sys_personality(compat_ulong_t personality) > > > +{ > > > + int ret; > > > + > > > + if

PER_LINUX32, Was: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-23 Thread Arnd Bergmann
On Thursday 16 August 2012, Will Deacon wrote: On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: On Tuesday 14 August 2012, Catalin Marinas wrote: +asmlinkage int compat_sys_personality(compat_ulong_t personality) +{ + int ret; + + if

Re: PER_LINUX32, Was: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-23 Thread Catalin Marinas
On Thu, Aug 23, 2012 at 07:46:30AM +0100, Arnd Bergmann wrote: On Thursday 16 August 2012, Will Deacon wrote: On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: On Tuesday 14 August 2012, Catalin Marinas wrote: +asmlinkage int compat_sys_personality(compat_ulong_t

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-21 Thread Pavel Machek
On Mon 2012-08-20 20:34:54, Arnd Bergmann wrote: > On Monday 20 August 2012, Pavel Machek wrote: > > > This patch adds support for 32-bit applications. The vectors page is a > > > binary blob mapped into the application user space at 0x (the > > > AArch64 toolchain does not support

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-21 Thread Pavel Machek
On Mon 2012-08-20 20:34:54, Arnd Bergmann wrote: On Monday 20 August 2012, Pavel Machek wrote: This patch adds support for 32-bit applications. The vectors page is a binary blob mapped into the application user space at 0x (the AArch64 toolchain does not support compilation of

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-20 Thread Arnd Bergmann
On Monday 20 August 2012, Pavel Machek wrote: > > This patch adds support for 32-bit applications. The vectors page is a > > binary blob mapped into the application user space at 0x (the > > AArch64 toolchain does not support compilation of AArch32 code). Full > > compatibility with ARMv7

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-20 Thread Pavel Machek
Hi! > This patch adds support for 32-bit applications. The vectors page is a > binary blob mapped into the application user space at 0x (the > AArch64 toolchain does not support compilation of AArch32 code). Full > compatibility with ARMv7 user space is supported. The use of deprecated >

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-20 Thread Pavel Machek
Hi! This patch adds support for 32-bit applications. The vectors page is a binary blob mapped into the application user space at 0x (the AArch64 toolchain does not support compilation of AArch32 code). Full compatibility with ARMv7 user space is supported. The use of deprecated ARMv7

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-20 Thread Arnd Bergmann
On Monday 20 August 2012, Pavel Machek wrote: This patch adds support for 32-bit applications. The vectors page is a binary blob mapped into the application user space at 0x (the AArch64 toolchain does not support compilation of AArch32 code). Full compatibility with ARMv7 user

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-16 Thread Arnd Bergmann
On Thursday 16 August 2012, Will Deacon wrote: > > On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: > > On Tuesday 14 August 2012, Catalin Marinas wrote: > > > +asmlinkage int compat_sys_personality(compat_ulong_t personality) > > > +{ > > > + int ret; > > > + > > > + if

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-16 Thread Will Deacon
On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: > On Tuesday 14 August 2012, Catalin Marinas wrote: > > +asmlinkage int compat_sys_personality(compat_ulong_t personality) > > +{ > > + int ret; > > + > > + if (personality(current->personality) == PER_LINUX32 && > > +

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-16 Thread Will Deacon
On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: On Tuesday 14 August 2012, Catalin Marinas wrote: +asmlinkage int compat_sys_personality(compat_ulong_t personality) +{ + int ret; + + if (personality(current-personality) == PER_LINUX32 + personality ==

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-16 Thread Arnd Bergmann
On Thursday 16 August 2012, Will Deacon wrote: On Wed, Aug 15, 2012 at 03:34:04PM +0100, Arnd Bergmann wrote: On Tuesday 14 August 2012, Catalin Marinas wrote: +asmlinkage int compat_sys_personality(compat_ulong_t personality) +{ + int ret; + + if

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-15 Thread Arnd Bergmann
On Tuesday 14 August 2012, Catalin Marinas wrote: > +#ifdef CONFIG_AARCH32_EMULATION > +#include > + > +#define AARCH32_KERN_SIGRET_CODE_OFFSET 0x500 > + > +extern const compat_ulong_t aarch32_sigret_code[6]; > + > +int compat_setup_frame(int usig, struct k_sigaction *ka, sigset_t *set, > +

Re: [PATCH v2 21/31] arm64: 32-bit (compat) applications support

2012-08-15 Thread Arnd Bergmann
On Tuesday 14 August 2012, Catalin Marinas wrote: +#ifdef CONFIG_AARCH32_EMULATION +#include linux/compat.h + +#define AARCH32_KERN_SIGRET_CODE_OFFSET 0x500 + +extern const compat_ulong_t aarch32_sigret_code[6]; + +int compat_setup_frame(int usig, struct k_sigaction *ka, sigset_t