On Mon, Feb 22, 2021 at 1:37 AM Michael J. Baars
wrote:
>
> On Mon, 2021-02-22 at 01:29 -0800, Andrew Pinski wrote:
> > On Mon, Feb 22, 2021 at 1:17 AM Michael J. Baars
> > wrote:
> > > Hi,
> > >
> > > I just wrote this little program to demonstr
On Mon, Feb 22, 2021 at 1:17 AM Michael J. Baars
wrote:
>
> Hi,
>
> I just wrote this little program to demonstrate a possible flaw in both
> malloc and calloc.
>
> If I allocate a the simplest memory region from main(), one out of three
> optimization flags fail.
> If I allocate the same region
On Fri, Nov 2, 2018 at 8:12 AM Mathieu Desnoyers
wrote:
>
> Hi Richard,
>
> I stumbled on these articles:
>
> -
> https://medium.com/@jadr2ddude/a-big-little-problem-a-tale-of-big-little-gone-wrong-e7778ce744bb
> - https://www.mono-project.com/news/2016/09/12/arm64-icache/
>
> and discussed them
On Fri, Aug 3, 2018 at 5:58 PM Mikulas Patocka wrote:
>
>
>
> On Fri, 3 Aug 2018, Richard Earnshaw (lists) wrote:
>
> > Whoa, hold on.
> >
> > Memcpy should never be used on device memory. Period. Memcpy doesn't
> > know anything about what size of access is needed for accessing a device.
> >
>
is undefined behavior to use device memory with memcpy.
Thanks,
Andrew Pinski
>
> I tried AMD card (HD 6350) and NVidia (NVS 285) and both exhibit the same
> corruption. OpenGL doesn't work (it results in artifacts on the AMD card
> and lock-up on the NVidia card), but it's quite expected if even simple
> writing to the framebuffer doesn't work.
>
> Mikulas
pointer; this would work
for most cases but could fail in a few.
Changes from v1:
* Fixed bug in __kernel_clock_getres for checking the pointer argument.
* Fix comments to refer to functions in arm64.
Signed-off-by: Andrew Pinski
---
arch/arm64/kernel/vdso/Makefile | 13 +-
arch/arm64
ISB is normally required before mrs CNTVCT if we want the
mrs to completed after the loads. In this case it is not.
As we are taking the difference and if that difference
was going to be negative, we just use the last counter value
instead.
Signed-off-by: Andrew Pinski
---
arch/arm64/kernel
On 4/24/2017 8:21 AM, Catalin Marinas wrote:
On Sun, Apr 23, 2017 at 04:47:00PM -0700, Andrew Pinski wrote:
This allows the compiler to optimize the divide by 1000.
And remove the other divide.
On ThunderX, gettimeofday improves by 32%. On ThunderX 2,
gettimeofday improves by 18%.
Is this
This allows the compiler to optimize the divide by 1000.
And remove the other divide.
On ThunderX, gettimeofday improves by 32%. On ThunderX 2,
gettimeofday improves by 18%.
Signed-off-by: Andrew Pinski
---
arch/arm64/kernel/vdso/Makefile | 13 +-
arch/arm64/kernel/vdso/gettimeofday.S
ISB is normally required before mrs CNTVCT if we want the
mrs to completed after the loads. In this case it is not.
As we are taking the difference and if that difference
was going to be negative, we just use the last counter value
instead.
Signed-off-by: Andrew Pinski
---
arch/arm64/kernel
-0.19%
458.sjeng 0.22%
462.libquantum 0.00%
464.h264ref 11.19%
471.omnetpp11.80%
473.astar -0.29%
483.xalancbmk 8.87%
Score 8.12%
Thanks,
Andrew Pinski
>
> Changes:
> v3: https://lkml.org/lkml
On ThunderX T88 pass 1 and pass 2, there is no hardware prefetching so
we need to patch in explicit software prefetching instructions.
This speeds up copy_to_user and copy_from_user for large size.
The main use of large sizes is I/O read/writes.
Signed-off-by: Andrew Pinski
---
arch/arm64/lib
For user space, we will be using
the SIMD registers which allows for not using any callee saved
registers and get better performance.
So basically this is my old patch which just patches in the prfm
to copy_template updated for the new name of the define and for
the nop not needed to be there any mor
On Fri, Jun 24, 2016 at 4:38 AM, Florian Weimer wrote:
> On 06/23/2016 09:56 AM, Andreas Schwab wrote:
>>
>> Andrew Pinski writes:
>>
>>> So the question becomes do we care enough about the incompatibles
>>> between AARCH32 and AARCH64 to fix this and
On Thu, Jun 23, 2016 at 12:36 AM, Yury Norov wrote:
> On Thu, Jun 23, 2016 at 09:32:46AM +0200, Andreas Schwab wrote:
>> Andrew Pinski writes:
>>
>> > So if you want aarch64 to be compatible with aarch32, you need to
>> > define __WORDSIZE_TIME64_COMPAT
On Thu, Jun 23, 2016 at 12:32 AM, Andreas Schwab wrote:
> Andrew Pinski 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
>> aarch32 to be compatible at all, then we
On Wed, Jun 22, 2016 at 9:35 PM, Yury Norov 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
>> >
>> > NOTE This is an ABI change for AARCH64.
>> > If you have s
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 "delouse" even mean? What
>> is the ABI peculiar
ts
within the same 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
---
tools/perf/util/annotate.c | 64 +++---
1 file changed,
On Wed, May 4, 2016 at 7:24 PM, Zhangjian (Bamvor)
wrote:
> Hi,
>
>
> On 2016/5/5 7:23, Andrew Pinski wrote:
>>
>> On Wed, May 4, 2016 at 2:49 PM, Yury Norov
>> wrote:
>>>
>>> On Tue, May 03, 2016 at 08:41:25PM +0800, Zhangjian (Bamvor) wrote:
&g
ZERO(1)
...
ENTRY(__kernel_clock_gettime)
.cfi_startproc
ZERO(1)
...
ENTRY(__kernel_clock_getres)
.cfi_startproc
ZERO(1)
Thanks,
Andrew Pinski
>
> Yury.
On Wed, Apr 27, 2016 at 12:30 AM, Andrew Pinski wrote:
> 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.
&g
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
>> pipeio_3
>> pipeio_5
>> pipei
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 compatibility reasons (after v5 discussion);
>
> Intr
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 li
ThunderX, this speeds up gettimeofday by 16.6%.
Signed-off-by: Andrew Pinski
---
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/kernel/vdso/gettimeofday.S
index
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
---
arch/arm64/kernel/vdso/gettimeofday.S | 20
1 files
*** 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
On Tue, Dec 21, 2015 at 5:43 AM, Arnd Bergmann 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.
>> > Special case 128 b
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
---
arch/arm64/lib/copy_page.S | 39
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
---
arch
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 sys_pr
ror=implicit-function-declaration]
VM_WARN_ONCE(!pte_young(pte),
^
Thanks,
Andrew Pinski
>
> Signed-off-by: Catalin Marinas
> Cc: Will Deacon
> ---
> arch/arm64/include/asm/pgtable.h | 11 +++
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --gi
where the stack shows
> 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,
An
On Thu, Dec 10, 2015 at 7:29 PM, Andrew Pinski 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 implementation.
>
> I get
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 osq_l
ember 2015 00:16:54 Yury Norov wrote:
>> > > > From: Andrew Pinski
>> > > >
>> > > > Add a separate syscall-table for ILP32, which dispatches either to
>> > > > native
>> > > > LP64 system call implementation or to compa
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:
>> >>
>> >> > What do you mean with 32-bit off_t?
>> >>
>>
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 somewhere?
Not in an useful form right now but i
gt; pins...@gmail.com wrote:
>> >
>> >>> On Sep 2, 2015, at 1:30 AM, Mark Rutland wrote:
>> >>>
>> >>> [...]
>> >>>
>> >>>>>>> On Sat, Aug 29, 2015 at 07:46:22PM +0100, Andrew Pinski wrote:
>>
/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
---
arch/arm64/include/asm/cpu.h |1 +
arch/arm64/include/asm/elf.h
/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
---
arch/arm64/include/asm/cpu.h |1 +
arch/arm64/include/asm/elf.h |6 ++
arch/arm64/kernel/cpuinfo.c | 22
/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
---
arch/arm64/include/asm/cpu.h |1 +
arch/arm64/include/asm/elf.h |6 ++
arch/arm64/kernel/cpuinfo.c | 22
On Mon, Oct 6, 2014 at 5:21 PM, Rich Felker 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 wrote:
>> > On Mon, Oct 06, 2014 at 04:48:52PM -0700, David Daney wrote:
>> >> On 10/06/2014 0
On Mon, Oct 6, 2014 at 5:05 PM, Rich Felker 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
Signed-off-by: Andrew Pinski
---
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/arm64/include/asm
case due to AARCH32 requiring 4k pages).
Signed-off-by: Andrew Pinski
---
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
--- a/arch/arm64/in
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
---
arch/arm64/include/asm/compat.h | 21 +
arch/arm64/include/asm/elf.h | 12
This patch changes CONFIG_COMPAT checks inside the arm64 which are AARCH32
specific
Signed-off-by: Andrew Pinski
---
arch/arm64/include/asm/arch_timer.h |2 +-
arch/arm64/include/asm/elf.h| 20 +---
arch/arm64/include/asm/fpsimd.h |2 +-
arch/arm64/include
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
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
---
fs/compat_binfmt_elf.c | 17 +
1 files changed, 17
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
---
arch/arm64/include/asm/elf.h | 23 +--
arch/arm64/kernel/ptrace.c | 12
Set COMPAT_USE_NATIVE_SIGINFO to be true for non AARCH32 tasks.
Signed-off-by: Andrew Pinski
---
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 2f84d2c..87cb50d
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
---
arch/arm64/include
If we have both ILP32 and AARCH32 compiled in, we need use the non compat start
thread for ILP32.
Signed-off-by: Andrew Pinski
---
arch/arm64/include/asm/processor.h | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/arch/arm64/include/asm/processor.h
b/arch
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
---
Documentation/arm64/ilp32.txt | 57 +
1 files changed, 57 insertions(+), 0 deletions(-)
create mode
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
This patch adds the config option for ILP32.
Signed-off-by: Andrew Pinski
---
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
+++ b/arch/arm64
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
---
arch/arm64/k
Signed-off-by: Andrew Pinski
---
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..2f84d2c 100644
--- a
Defines the macros which allow the signal structures to be the same between
ILP32 and LP64.
Signed-off-by: Andrew Pinski
---
arch/arm64/include/uapi/asm/siginfo.h | 33
arch/arm64/include/uapi/asm/signal.h | 34 +
2 files
We need to say to the userland API that bits per long is 32bits for ILP32.
Signed-off-by: Andrew Pinski
---
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/arch/arm64/include
Define __SYSCALL_NONCOMPAT so we use the 64bit naming scheme for ILP32.
Signed-off-by: Andrew Pinski
---
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/include/uapi/asm
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
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
---
arch/arm64/include/asm/compat.h | 22 ++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/arch
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
---
arch/arm64/include/uapi/asm/posix_types.h |8 +++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/arch
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
---
include/uapi/asm-generic/unistd.h |6 +-
1 files changed, 5 insertions(+), 1 deletions
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
---
arch/arm64/Kconfig |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index fd4e81a
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
---
arch/arm64/Makefile |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index
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 of the
case due to AARCH32
requiring 4k pages).
Thanks,
Andrew Pinski
Signed-off-by: Andrew Pinski
---
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 85f945c..c77fc0f 1
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 P
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
---
arch/arm64/include/asm/processor.h |9 +
1 files
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
This patch adds the config option for ILP32.
Thanks,
Andrew Pinski
Signed-off-by: Andrew Pinski
---
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
--- a/arch/arm64/Kconfig
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
---
Documentation/arm64/ilp32.txt | 57 +
1 files changed, 57 insertions(+), 0
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
---
arch/arm64/include/asm/compat.h | 31 +--
arch/arm64
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
---
arch/arm64/include/asm/elf.h | 22 --
arch/arm64/kernel/ptrace.c
We need to say to the userland API that bits per long is 32bits for ILP32.
Thanks,
Andrew Pinski
Signed-off-by: Andrew Pinski
---
arch/arm64/include/uapi/asm/bitsperlong.h |7 ++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/arm64/include/uapi/asm/bitsperlong.h
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
---
include/uapi/asm-generic/unistd.h |5 -
1 files changed, 4
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
---
arch/arm64/Kconfig |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch
Signed-off-by: Andrew Pinski
---
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/hwcap.h
+++ b/arch/arm64
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
---
arch/arm64/include/asm/Kbuild |1 -
arch/arm64/include/uapi/asm/posix_types.h | 12
This patch changes CONFIG_COMPAT checks inside the arm64 which are AARCH32
specific.
Thanks,
Andrew Pinski
Signed-off-by: Andrew Pinski
---
arch/arm64/include/asm/arch_timer.h |2 +-
arch/arm64/include/asm/elf.h| 23 ---
arch/arm64/include/asm/fpsimd.h
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
---
drivers/input/input-compat.h |2 +-
1 files changed, 1
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
---
arch/arm64/include/asm/compat.h | 32 ++--
arch/arm64/include/asm/thread_i
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
Define __SYSCALL_NONCOMPAT so we use the 64bit naming scheme for ILP32.
Signed-off-by: Andrew Pinski
---
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/include/uapi/asm
Defines the macros which allow the signal structures to be the same between
ILP32 and LP64.
Thanks,
Andrew Pinski
Signed-off-by: Andrew Pinski
---
arch/arm64/include/uapi/asm/siginfo.h | 21 +
arch/arm64/include/uapi/asm/signal.h | 32
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
---
arch/arm64/Kconfig |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch
World" with shard libraries.
Thanks,
Andrew Pinski
Signed-off-by: Andrew Pinski
---
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
ind
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
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
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
---
arch/arm64/Makefile |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/arm64/Makefile b/arch
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
---
arch/arm64/include/asm/compat.h |3 +++
1 files changed, 3 insertions(+), 0 deletions
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 P
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 P
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
---
arch/arm64/Makefile |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/arm64/Makefile b/arch
atch that before call do_notify_resume(will call do_signal)
>> in the int3 handler, set TS_COMPAT to status if this task is TIF_IA32.
>> Then after GDB call a function of inferior, it will still has TS_COMPAT.
>
> I'm not sure if I want to label this a gdb bug or not (m
On Fri, Sep 13, 2013 at 5:12 AM, Catalin Marinas
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
>> wrote:
>> > On Mon, Sep 09, 2013 at 10:32:59PM +0100, Andrew Pinski wrote:
>> >
>
1 - 100 of 114 matches
Mail list logo