Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757782Ab2EXS6i (ORCPT ); Thu, 24 May 2012 14:58:38 -0400 Received: from mail-qc0-f174.google.com ([209.85.216.174]:35397 "EHLO mail-qc0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754487Ab2EXS6h (ORCPT ); Thu, 24 May 2012 14:58:37 -0400 MIME-Version: 1.0 In-Reply-To: References: <20120523164503.GG26693@mudshark.cambridge.arm.com> From: Roland McGrath Date: Thu, 24 May 2012 11:58:15 -0700 Message-ID: Subject: Re: New ARM asm/syscall.h incompatible? (commit bf2c9f9866928df60157bc4f1ab39f93a32c754e) To: Will Drewry Cc: Will Deacon , "wade_farnsworth@mentor.com" , "stevenrwalter@gmail.com" , "rmk+kernel@arm.linux.org.uk" , "linux@arm.linux.org.uk" , Alexander Viro , Olof Johansson , LKML Content-Type: text/plain; charset=ISO-8859-1 X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1173 Lines: 29 When I first added the asm/syscall.h interface, I took six arguments to be a universal limit in the kernel. I had the impression that the limit was encoded in many places, but I really don't recall any details now. For x86-32, it is a hard limit of the register argument passing convention, as six arguments plus syscall number and stack pointer is all the registers there are. So no generic syscall will ever have more than six arguments, since x86-32 couldn't support it. If there are machine-specific syscalls that allow more arguments, then I think it would be reasonable to make a machine-specfiic argument limit part of the asm/syscall.h interface. That is, define some macro like MAX_SYSCALL_ARGS in asm/syscall.h. If you do that, please put a definition for it in asm-generic/syscall.h and update the kerneldoc comments there to mention that macro instead of the explicit "6" and "0..5" there now. Thanks, Roland -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/