From owner-freebsd-platforms@FreeBSD.ORG Mon Dec 15 20:58:54 2003 Return-Path: Delivered-To: freebsd-platforms@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 182BB16A4D0; Mon, 15 Dec 2003 20:58:54 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1F8E143D32; Mon, 15 Dec 2003 20:58:45 -0800 (PST) (envelope-from davidxu@freebsd.org) Received: from freebsd.org (davidxu@localhost [127.0.0.1]) hBG4wDFR019577; Mon, 15 Dec 2003 20:58:14 -0800 (PST) (envelope-from davidxu@freebsd.org) Message-ID: <3FDE9199.1020000@freebsd.org> Date: Tue, 16 Dec 2003 13:01:13 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.5) Gecko/20031206 Thunderbird/0.3 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "\"Daniel Eischen\" On Wed" , 10@FreeBSD.org, Dec@FreeBSD.org, 2003@FreeBSD.org, David@FreeBSD.org, Xu@FreeBSD.org, wrote: , ">"@FreeBSD.org, Hi@FreeBSD.org, Dan@FreeBSD.org, ">"@FreeBSD.org, ">"@FreeBSD.org, It@FreeBSD.org, seems@FreeBSD.org, marcel@FreeBSD.org, encountered@FreeBSD.org, another@FreeBSD.org, problem@FreeBSD.org, I@FreeBSD.org, ran@FreeBSD.org, hello_d@FreeBSD.org, on@FreeBSD.org, pluto1@FreeBSD.org, ">"@FreeBSD.org, and@FreeBSD.org, I@FreeBSD.org, successfully@FreeBSD.org, killed@FreeBSD.org, "kernel."@FreeBSD.org, it@FreeBSD.org, seems@FreeBSD.org, km_curthread@FreeBSD.org, is@FreeBSD.org, misaligned@FreeBSD.org, <"why ? > He said km_curthread should be aligned at 8 bytes boundary"@FreeBSD.org>, but@FreeBSD.org, it@FreeBSD.org, ">"@FreeBSD.org, seems@FreeBSD.org, we@FreeBSD.org, do@FreeBSD.org, not@FreeBSD.org, respect@FreeBSD.org, this@FreeBSD.org, "ruler."@FreeBSD.org, Hmm@FreeBSD.org, well@FreeBSD.org, we@FreeBSD.org, were@FreeBSD.org, talking@FreeBSD.org, about@FreeBSD.org, rearranging@FreeBSD.org, the@FreeBSD.org, kse_mailbox@FreeBSD.org, remember?@FreeBSD.org, We@FreeBSD.org, can@FreeBSD.org, make@FreeBSD.org, km_version@FreeBSD.org, a@FreeBSD.org, long@FreeBSD.org, instead@FreeBSD.org, of@FreeBSD.org, an@FreeBSD.org, int@FreeBSD.org, and@FreeBSD.org, that@FreeBSD.org, would@FreeBSD.org, align@FreeBSD.org, "km_curthread."@FreeBSD.org, It@FreeBSD.org, would@FreeBSD.org, only@FreeBSD.org, break@FreeBSD.org, binary@FreeBSD.org, compat@FreeBSD.org, on@FreeBSD.org, 64-bit@FreeBSD.org, platforms@FreeBSD.org, "also."@FreeBSD.org, I@FreeBSD.org, think@FreeBSD.org, other@FreeBSD.org, things@FreeBSD.org, in@FreeBSD.org, kse_mailbox@FreeBSD.org, may@FreeBSD.org, need@FreeBSD.org, to@FreeBSD.org, be@FreeBSD.org, fixed@FreeBSD.org, "also."@FreeBSD.org, km_func@FreeBSD.org, is@FreeBSD.org, not@FreeBSD.org, aligned@FreeBSD.org, either@FreeBSD.org, since@FreeBSD.org, km_flags@FreeBSD.org, is@FreeBSD.org, only@FreeBSD.org, 32@FreeBSD.org, "bits."@FreeBSD.org, I@FreeBSD.org, think@FreeBSD.org, the@FreeBSD.org, mailbox@FreeBSD.org, should@FreeBSD.org, be@FreeBSD.org, something@FreeBSD.org, like@FreeBSD.org, this: , struct@FreeBSD.org, kse_mailbox@FreeBSD.org, {@FreeBSD.org, uint32_t@FreeBSD.org, km_version@FreeBSD.org;, uint32_t@FreeBSD.org, km_flags@FreeBSD.org;, uint32_t@FreeBSD.org, km_quantum@FreeBSD.org;, uint32_t@FreeBSD.org, "__spare1__[1];"@FreeBSD.org, /*@FreeBSD.org, align@FreeBSD.org, km_sigscaught@FreeBSD.org, to@FreeBSD.org, 16@FreeBSD.org, bytes@FreeBSD.org, */@FreeBSD.org, struct@FreeBSD.org, kse_thr_mailbox@FreeBSD.org, *km_curthread@FreeBSD.org;, struct@FreeBSD.org, kse_thr_mailbox@FreeBSD.org, *km_completed@FreeBSD.org;, void@FreeBSD.org, *km_udata@FreeBSD.org;, kse_func_t@FreeBSD.org, *km_func@FreeBSD.org;, sigset_t@FreeBSD.org, km_sigscaught@FreeBSD.org;, stack_t@FreeBSD.org, km_stack@FreeBSD.org;, struct@FreeBSD.org, timespec@FreeBSD.org, km_timeofday@FreeBSD.org;, uint32_t@FreeBSD.org, "__spare2__[8];"@FreeBSD.org, }@FreeBSD.org;, Probably@FreeBSD.org, something@FreeBSD.org, similar@FreeBSD.org, for@FreeBSD.org, "kse_thr_mailbox."@FreeBSD.org, --@FreeBSD.org, Dan@FreeBSD.org, Eischen@viatech.com.cn Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Tue, 16 Dec 2003 05:26:45 -0800 cc: marcel@freebsd.org Subject: Re: [Fwd: Re: hello_d on pluto1] X-BeenThere: freebsd-platforms@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: davidxu@t2t2.com List-Id: Porting to Non-Intel platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2003 04:58:54 -0000 >Hmm, well we were talking about rearranging the kse_mailbox, >remember? We can make km_version a long instead of an int >and that would align km_curthread. It would only break >binary compat on 64-bit platforms also. > >I think other things in kse_mailbox may need to be fixed >also. km_func is not aligned either since km_flags is >only 32 bits. I think the mailbox should be something >like this: > >struct kse_mailbox { > uint32_t km_version; > uint32_t km_flags; > uint32_t km_quantum; > uint32_t __spare1__[1]; /* align km_sigscaught to 16 bytes */ > struct kse_thr_mailbox *km_curthread; > struct kse_thr_mailbox *km_completed; > void *km_udata; > kse_func_t *km_func; > sigset_t km_sigscaught; > stack_t km_stack; > struct timespec km_timeofday; > uint32_t __spare2__[8]; >}; > > Probably something similar for kse_thr_mailbox. > Do you have its layout already ? I might change them after 5.2 release. Marcel, do you think Dan's kse_mailbox layout is ok for you ? >-- >Dan Eischen David Xu