From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755760AbcEEC2f (ORCPT ); Wed, 4 May 2016 22:28:35 -0400 Received: from szxga04-in.huawei.com ([119.145.14.52]:13702 "EHLO szxga04-in.huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1754799AbcEEC2d (ORCPT ); Wed, 4 May 2016 22:28:33 -0400 Subject: Re: [PATCH 24/25] arm64:ilp32: add vdso-ilp32 and use for signal return To: Andrew Pinski , Yury Norov References: <1459894127-17698-1-git-send-email-ynorov@caviumnetworks.com> <1554541.oDP7Ro5zB2@wuerfel> <20160503090045.GB10733@e104818-lin.cambridge.arm.com> <3846428.6xx69KGEja@wuerfel> <57288660.9030607@huawei.com> <57289C75.50904@huawei.com> <20160504214949.GA28217@yury-N73SV> CC: Arnd Bergmann , Catalin Marinas , Linux-Arch , linux-s390 , "Kapoor, Prasun" , Andreas Schwab , "Mark Brown" , , Heiko Carstens , LKML , "Alexander Graf" , Alexey Klimov , "Joseph S. Myers" , Martin Schwidefsky , Nathan Lynch , "Philipp Tomsich" , "linux-arm-kernel@lists.infradead.org" , , Hanjun Guo , "Zhangjian (Bamvor)" From: "Zhangjian (Bamvor)" Message-ID: <572AAED2.7050604@huawei.com> Date: Thu, 5 May 2016 10:24:18 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.111.72.170] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020201.572AAEE7.010B,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: f402f2582e888a0577fdbd6fc111d671 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: >>> Hi, all >>> >>> After apply this patch with my small testcase, the vsyscall of gettimeofday in >>> ilp32 works in both big endian and small endian. In this patch, I use the >>> different register and offset for ilp32 and lp64. Actually, the >>> COMPAT_TVAL_TV_SEC is same as TVAL_TV_SEC(so as to COMPAT_TSPEC_TV_SEC and >>> TSPEC_TV_SEC). I add it to keep the logic clear. I also change the version >>> of vdso to 4.6. It should change to 2.6.39 if glibc is not update. >>> >> >> [...] >> >> Hi Bamvor, >> >> It works for me as well. Thank you. >> I'll incorporate it in next submission. > > We should add the following so we are complaint to the ILP32 ABI > dealing with pointers don't have to be zero extended for arguments, > Note ZERO should most likely be ZERO_PTR or something to do that > effect, I am not so good with names. > #ifdef __LP64__ > #define ZERO(n) > #else > #define ZERO(n) mov w##n, w##n > #endif > > ... > ENTRY(__kernel_gettimeofday) > .cfi_startproc > ZERO(0) > ZERO(1) > ... > ENTRY(__kernel_clock_gettime) > .cfi_startproc > ZERO(1) > ... > ENTRY(__kernel_clock_getres) > .cfi_startproc > ZERO(1) Thanks. I will test and send a new version. Thanks. Bamvor > Thanks, > Andrew Pinski > >> >> Yury. From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhangjian (Bamvor)" Subject: Re: [PATCH 24/25] arm64:ilp32: add vdso-ilp32 and use for signal return Date: Thu, 5 May 2016 10:24:18 +0800 Message-ID: <572AAED2.7050604@huawei.com> References: <1459894127-17698-1-git-send-email-ynorov@caviumnetworks.com> <1554541.oDP7Ro5zB2@wuerfel> <20160503090045.GB10733@e104818-lin.cambridge.arm.com> <3846428.6xx69KGEja@wuerfel> <57288660.9030607@huawei.com> <57289C75.50904@huawei.com> <20160504214949.GA28217@yury-N73SV> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-doc-owner@vger.kernel.org List-Archive: List-Post: To: Andrew Pinski , Yury Norov Cc: Arnd Bergmann , Catalin Marinas , Linux-Arch , linux-s390 , "Kapoor, Prasun" , Andreas Schwab , Mark Brown , linux-doc@vger.kernel.org, Heiko Carstens , LKML , Alexander Graf , Alexey Klimov , "Joseph S. Myers" , Martin Schwidefsky , Nathan Lynch , Philipp Tomsich , "linux-arm-kernel@lists.infradead.org" , christoph.muellner@theobroma-systems.com, Hanjun Guo , "Zhangjian (Bamvor)" List-ID: 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: >>> Hi, all >>> >>> After apply this patch with my small testcase, the vsyscall of gettimeofday in >>> ilp32 works in both big endian and small endian. In this patch, I use the >>> different register and offset for ilp32 and lp64. Actually, the >>> COMPAT_TVAL_TV_SEC is same as TVAL_TV_SEC(so as to COMPAT_TSPEC_TV_SEC and >>> TSPEC_TV_SEC). I add it to keep the logic clear. I also change the version >>> of vdso to 4.6. It should change to 2.6.39 if glibc is not update. >>> >> >> [...] >> >> Hi Bamvor, >> >> It works for me as well. Thank you. >> I'll incorporate it in next submission. > > We should add the following so we are complaint to the ILP32 ABI > dealing with pointers don't have to be zero extended for arguments, > Note ZERO should most likely be ZERO_PTR or something to do that > effect, I am not so good with names. > #ifdef __LP64__ > #define ZERO(n) > #else > #define ZERO(n) mov w##n, w##n > #endif > > ... > ENTRY(__kernel_gettimeofday) > .cfi_startproc > ZERO(0) > ZERO(1) > ... > ENTRY(__kernel_clock_gettime) > .cfi_startproc > ZERO(1) > ... > ENTRY(__kernel_clock_getres) > .cfi_startproc > ZERO(1) Thanks. I will test and send a new version. Thanks. Bamvor > Thanks, > Andrew Pinski > >> >> Yury. From mboxrd@z Thu Jan 1 00:00:00 1970 From: bamvor.zhangjian@huawei.com (Zhangjian (Bamvor)) Date: Thu, 5 May 2016 10:24:18 +0800 Subject: [PATCH 24/25] arm64:ilp32: add vdso-ilp32 and use for signal return In-Reply-To: References: <1459894127-17698-1-git-send-email-ynorov@caviumnetworks.com> <1554541.oDP7Ro5zB2@wuerfel> <20160503090045.GB10733@e104818-lin.cambridge.arm.com> <3846428.6xx69KGEja@wuerfel> <57288660.9030607@huawei.com> <57289C75.50904@huawei.com> <20160504214949.GA28217@yury-N73SV> Message-ID: <572AAED2.7050604@huawei.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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: >>> Hi, all >>> >>> After apply this patch with my small testcase, the vsyscall of gettimeofday in >>> ilp32 works in both big endian and small endian. In this patch, I use the >>> different register and offset for ilp32 and lp64. Actually, the >>> COMPAT_TVAL_TV_SEC is same as TVAL_TV_SEC(so as to COMPAT_TSPEC_TV_SEC and >>> TSPEC_TV_SEC). I add it to keep the logic clear. I also change the version >>> of vdso to 4.6. It should change to 2.6.39 if glibc is not update. >>> >> >> [...] >> >> Hi Bamvor, >> >> It works for me as well. Thank you. >> I'll incorporate it in next submission. > > We should add the following so we are complaint to the ILP32 ABI > dealing with pointers don't have to be zero extended for arguments, > Note ZERO should most likely be ZERO_PTR or something to do that > effect, I am not so good with names. > #ifdef __LP64__ > #define ZERO(n) > #else > #define ZERO(n) mov w##n, w##n > #endif > > ... > ENTRY(__kernel_gettimeofday) > .cfi_startproc > ZERO(0) > ZERO(1) > ... > ENTRY(__kernel_clock_gettime) > .cfi_startproc > ZERO(1) > ... > ENTRY(__kernel_clock_getres) > .cfi_startproc > ZERO(1) Thanks. I will test and send a new version. Thanks. Bamvor > Thanks, > Andrew Pinski > >> >> Yury.