Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp2958257rwl; Tue, 27 Dec 2022 02:10:04 -0800 (PST) X-Google-Smtp-Source: AMrXdXuLrvnTcr5W7led5BnmEtx9uGRwkHUqip/r52f7Kp9XZGC67r2Tb8SoUlT/CGlluS/EbfZc X-Received: by 2002:a17:902:bd4b:b0:192:6e42:ded5 with SMTP id b11-20020a170902bd4b00b001926e42ded5mr12218726plx.2.1672135804154; Tue, 27 Dec 2022 02:10:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672135804; cv=none; d=google.com; s=arc-20160816; b=q+sgLL/wic+1rqaou7XitMQA69P58M1NmEv5XYQrIeTLNZuMjVhGaePIg/W8caMZ7Q GRiiv24Gz88Dh3F1o7kMEmr0omwwJwzvnd+FUSCW402fOJfr5R9K0MPqdE9GK9eWQ2G+ 6kUSthO51iKYWBHIvB5vUyu45hRNanO2JL5iKNb+5FR4froCkjhxPjUqq7Hj3wKwvT5Y cWxrKEoq2I8MPeCXCxaCB5JdRYVDTog5T3AaLiP4swT6QGiPSkY//+OSeeJHfkYHNLQX JF+xJTKx6GSOkVkzDCmp7Eme5VijZ0GiU6vRrzP5yeFYTHQ+56DPcIIWAFL/9nlcdMWX bG0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:sender:hmm_source_type:hmm_attache_num :hmm_source_ip; bh=AuqpQzMASt97jWK3gV7fGnCyaWg2dkR22ajBcMcsR14=; b=Xpf6mf3kxu36cyekmM4lZFMe0kXTW+p/unOVDcBZVwqeoivvHSTyrmfRohdChFcmoq GYySgOJn5Q4s2RiY6IrvINeuWRb8JAfavlqeDEGQVBLub50k2fiulRDUVWgFij2Wkmv8 35AxQGjChDB8p06bF8JsrJ238WnV1OShnzIq8VkYLkcHlgFgEL8vPIny0wdW4VU5sUdT jWcE6PcGKdaYM4weKA9S1OMxqo6u6KBBiOoDTuC+YPczf7Gp6DxD7Cx1Mmi2j6iePAeO llcY5HOrlhye+u3yuVM9dKIuUHbGSNGGBxMT8ELsnF+YQi1+Z9Jovf0YIsu3rEVOUYH8 qFCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s15-20020a170902988f00b0018010c3d7e3si12663947plp.404.2022.12.27.02.09.55; Tue, 27 Dec 2022 02:10:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229550AbiL0Jth (ORCPT + 66 others); Tue, 27 Dec 2022 04:49:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56770 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229601AbiL0Jtf (ORCPT ); Tue, 27 Dec 2022 04:49:35 -0500 Received: from 189.cn (ptr.189.cn [183.61.185.101]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A9E636467; Tue, 27 Dec 2022 01:49:32 -0800 (PST) HMM_SOURCE_IP: 10.64.8.31:47026.1348480059 HMM_ATTACHE_NUM: 0000 HMM_SOURCE_TYPE: SMTP Received: from clientip-123.150.8.42 (unknown [10.64.8.31]) by 189.cn (HERMES) with SMTP id 59D06100135; Tue, 27 Dec 2022 17:49:29 +0800 (CST) Received: from ([123.150.8.42]) by gateway-153622-dep-79f476db8-srhz2 with ESMTP id c198b5c1616f443babc5733098c2abe3 for mhiramat@kernel.org; Tue, 27 Dec 2022 17:49:30 CST X-Transaction-ID: c198b5c1616f443babc5733098c2abe3 X-Real-From: chensong_2000@189.cn X-Receive-IP: 123.150.8.42 X-MEDUSA-Status: 0 Sender: chensong_2000@189.cn Message-ID: <6f64c5bd-2746-37e5-7e07-1c828fd6b90e@189.cn> Date: Tue, 27 Dec 2022 17:49:28 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v3 4/4] kernel/trace: remove calling regs_* when compiling HEXAGON To: "Masami Hiramatsu (Google)" Cc: rostedt@goodmis.org, arnd@arndb.de, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-arch@vger.kernel.org References: <1670229017-4106-1-git-send-email-chensong_2000@189.cn> <20221223231545.e619f35b321192fbaa2f4cf9@kernel.org> Content-Language: en-US From: Song Chen In-Reply-To: <20221223231545.e619f35b321192fbaa2f4cf9@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,NICE_REPLY_A,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2022/12/23 22:15, Masami Hiramatsu (Google) 写道: > On Mon, 5 Dec 2022 16:30:17 +0800 > Song Chen wrote: > >> kernel test robot reports below errors: >> >> In file included from kernel/trace/trace_events_synth.c:22: >>>> kernel/trace/trace_probe_kernel.h:203:9: error: call to >> undeclared function 'regs_get_register'; ISO C99 and later >> do not support implicit function declarations >> [-Wimplicit-function-declaration] >> val = regs_get_register(regs, code->param); >> >> HEXAGON doesn't define and implement those reg_* functions >> underneath arch/hexagon as well as other archs. To remove >> those errors, i have to include those function calls in >> "CONFIG_HEXAGON" >> >> It looks ugly, but i don't know any other way to fix it, >> this patch can be reverted after reg_* have been in place >> in arch/hexagon. >> > > Sorry, NACK. This is too add-hoc patch and this is introduced > by your patch. Do not introduce an issue and fix it later in > the same series. > Please fix it in your first patch. Maybe you should make another > header file for those APIs. > > Thank you, I tried not no add a new header file, but looks like i have to, to avoid triggering warnings and errors of kernel robot. Thanks Song > >> Signed-off-by: Song Chen >> Reported-by: kernel test robot >> --- >> kernel/trace/trace_probe_kernel.h | 21 +++++++++++++++++++-- >> 1 file changed, 19 insertions(+), 2 deletions(-) >> >> diff --git a/kernel/trace/trace_probe_kernel.h b/kernel/trace/trace_probe_kernel.h >> index 8c42abe0dacf..7e958b7f07e5 100644 >> --- a/kernel/trace/trace_probe_kernel.h >> +++ b/kernel/trace/trace_probe_kernel.h >> @@ -130,8 +130,7 @@ probe_mem_read(void *dest, void *src, size_t size) >> return copy_from_kernel_nofault(dest, src, size); >> } >> >> -static nokprobe_inline unsigned long >> -get_event_field(struct fetch_insn *code, void *rec) >> +static unsigned long get_event_field(struct fetch_insn *code, void *rec) >> { >> struct ftrace_event_field *field = code->data; >> unsigned long val; >> @@ -194,23 +193,41 @@ static int >> process_fetch_insn(struct fetch_insn *code, void *rec, void *dest, >> void *base) >> { >> +#ifndef CONFIG_HEXAGON >> struct pt_regs *regs = rec; >> +#endif >> unsigned long val; >> >> retry: >> /* 1st stage: get value from context */ >> switch (code->op) { >> case FETCH_OP_REG: >> +#ifdef CONFIG_HEXAGON >> + val = 0; >> +#else >> val = regs_get_register(regs, code->param); >> +#endif >> break; >> case FETCH_OP_STACK: >> +#ifdef CONFIG_HEXAGON >> + val = 0; >> +#else >> val = regs_get_kernel_stack_nth(regs, code->param); >> +#endif >> break; >> case FETCH_OP_STACKP: >> +#ifdef CONFIG_HEXAGON >> + val = 0; >> +#else >> val = kernel_stack_pointer(regs); >> +#endif >> break; >> case FETCH_OP_RETVAL: >> +#ifdef CONFIG_HEXAGON >> + val = 0; >> +#else >> val = regs_return_value(regs); >> +#endif >> break; >> case FETCH_OP_IMM: >> val = code->immediate; >> -- >> 2.25.1 >> > >