From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755406AbYCUMZd (ORCPT ); Fri, 21 Mar 2008 08:25:33 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753966AbYCUMZY (ORCPT ); Fri, 21 Mar 2008 08:25:24 -0400 Received: from mx2.mail.elte.hu ([157.181.151.9]:43584 "EHLO mx2.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753750AbYCUMZX (ORCPT ); Fri, 21 Mar 2008 08:25:23 -0400 Date: Fri, 21 Mar 2008 13:25:05 +0100 From: Ingo Molnar To: "H. Peter Anvin" Cc: Pavel Machek , Jiri Slaby , mingo@redhat.com, linux-kernel@vger.kernel.org, Andrew Morton , Thomas Gleixner Subject: Re: [PATCH] Mark early_printk as asmlinkage Message-ID: <20080321122505.GH25225@elte.hu> References: <1205330034-28828-1-git-send-email-jirislaby@gmail.com> <1205330034-28828-2-git-send-email-jirislaby@gmail.com> <47D7E2FB.2020801@zytor.com> <20080314180401.GA6722@ucw.cz> <47DAC66D.2000902@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <47DAC66D.2000902@zytor.com> User-Agent: Mutt/1.5.17 (2007-11-01) X-ELTE-VirusStatus: clean X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.3 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * H. Peter Anvin wrote: >> I'd call asmlinkage kind of documentation, then. Not everyone is as >> good with x86 abi as you are... > > Since it's already only used on x86-32 and we no longer support > non-regparm x86, I'd like to at least get to the point where x86-32 > doesn't have any function. We can retain it for documentation's sake, > but even then it's iffy... is "this is callable from assembly" really > something arch-invariant. the kernel still works if we disable regparm, and it makes sense to just have a good list of all functions that are called from assembly. But it's not just about non-regparm or documentation, we have regular trouble with over-eager gcc optimizations that assume that all code is generated by gcc ... Furthermore, code flow is easier to understand if we know what is called from assembly and what not. So documenting all these places makes sense to me and we've applied similar patches in the past. Ingo