Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756079AbXLFXVZ (ORCPT ); Thu, 6 Dec 2007 18:21:25 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753546AbXLFXUY (ORCPT ); Thu, 6 Dec 2007 18:20:24 -0500 Received: from tetsuo.zabbo.net ([207.173.201.20]:50752 "EHLO tetsuo.zabbo.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752912AbXLFXUV (ORCPT ); Thu, 6 Dec 2007 18:20:21 -0500 From: Zach Brown To: linux-kernel@vger.kernel.org Cc: Linus Torvalds , Ingo Molnar , Ulrich Drepper , Arjan van de Ven , Andrew Morton , Alan Cox , Evgeniy Polyakov , "David S. Miller" , Suparna Bhattacharya , Davide Libenzi , Jens Axboe , Thomas Gleixner , Dan Williams , Jeff Moyer , Simon Holm Thogersen , suresh.b.siddha@intel.com Subject: [PATCH 3/6] syslet: introduce abi structs Date: Thu, 6 Dec 2007 15:20:16 -0800 Message-Id: <11969832192868-git-send-email-zach.brown@oracle.com> X-Mailer: git-send-email 1.5.2.2 In-Reply-To: <1196983219225-git-send-email-zach.brown@oracle.com> References: <1196983219534-git-send-email-zach.brown@oracle.com> <11969832193635-git-send-email-zach.brown@oracle.com> <1196983219225-git-send-email-zach.brown@oracle.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1347 Lines: 53 This patch adds the architecture independent structures of the syslet ABI. Signed-off-by: Zach Brown diff --git a/include/linux/syslet-abi.h b/include/linux/syslet-abi.h new file mode 100644 index 0000000..a8bc1a3 --- /dev/null +++ b/include/linux/syslet-abi.h @@ -0,0 +1,34 @@ +#ifndef _LINUX_SYSLET_ABI_H +#define _LINUX_SYSLET_ABI_H + +#include /* for struct syslet_frame */ + +struct syslet_args { + u64 completion_ring_ptr; + u64 caller_data; + struct syslet_frame frame; +}; + +struct syslet_completion { + u64 status; + u64 caller_data; +}; + +/* + * The ring follows the "wrapping" convention as described by Andrew at: + * http://lkml.org/lkml/2007/4/11/276 + * The head is updated by the kernel as completions are added and the + * tail is updated by userspace as completions are removed. + * + * The number of elements must be a power of two and the ring must be + * aligned to a u64. + */ +struct syslet_ring { + u32 kernel_head; + u32 user_tail; + u32 elements; + u32 wait_group; + struct syslet_completion comp[0]; +}; + +#endif -- 1.5.2.2 -- 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/