From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753571AbbE1J6m (ORCPT ); Thu, 28 May 2015 05:58:42 -0400 Received: from mail-pa0-f48.google.com ([209.85.220.48]:35304 "EHLO mail-pa0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751415AbbE1J6e (ORCPT ); Thu, 28 May 2015 05:58:34 -0400 Message-ID: <5566E6BE.9060903@linaro.org> Date: Thu, 28 May 2015 18:58:22 +0900 From: AKASHI Takahiro User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Will Deacon , Li Bin CC: Jiri Kosina , "linaro-kernel@lists.linaro.org" , Catalin Marinas , "sjenning@redhat.com" , "linux-kernel@vger.kernel.org" , "rostedt@goodmis.org" , "vojtech@suse.cz" , "broonie@kernel.org" , "jpoimboe@redhat.com" , "masami.hiramatsu.pt@hitachi.com" , "live-patching@vger.kernel.org" , "mingo@kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [RFC 0/4] arm64: add livepatch support References: <1429843449-7388-1-git-send-email-takahiro.akashi@linaro.org> <5566B0EA.1020007@huawei.com> <20150528085807.GA31001@arm.com> In-Reply-To: <20150528085807.GA31001@arm.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/28/2015 05:58 PM, Will Deacon wrote: > On Thu, May 28, 2015 at 07:08:42AM +0100, Li Bin wrote: >> On 2015/4/24 17:27, Jiri Kosina wrote: >>> On Fri, 24 Apr 2015, AKASHI Takahiro wrote: >>> >>>> This patchset enables livepatch support on arm64. >>>> >>>> Livepatch was merged in v4.0, and allows replacying a function dynamically >>>> based on ftrace framework, but it also requires -mfentry option of gcc. >>>> Currently arm64 gcc doesn't support it, but by adding a helper function to >>>> ftrace, we will be able to support livepatch on arch's which don't support >>>> this option. >>>> >>>> I submit this patchset as RFC since I'm not quite sure that I'm doing >>>> in the right way, or we should definitely support -fentry instead. >>> >>> I don't have arm64 cross-compiler handy, could you please copy/paste how >>> does function prologue, generated by gcc -pg on arm64 look like? >>> >> >> The function prologue on arm64 with gcc -pg look like as following: >> func: >> stp x29, x30, [sp, -48]! >> add x29, sp, 0 >> mov x1, x30 >> str w0, [x29,28] >> mov x0, x1 >> bl _mcount > > Just for the avoidance of confusion, this looks like a function with > a live parameter in x0, which explains the str to the stack and the > juggling of x30 into x0. I don't think there's necessarily a golden > template for the prologue code. We just started the discussion about gcc, -mfentry vs. a more generic option that I mentioned in: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346632.html on gcc's devel ML. -Takahiro AKASHI > Will >