From owner-freebsd-sparc Tue Dec 16 14:26:17 1997 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.7/8.8.7) id OAA06301 for sparc-outgoing; Tue, 16 Dec 1997 14:26:17 -0800 (PST) (envelope-from owner-freebsd-sparc@FreeBSD.ORG) Received: from ns1.yes.no (ns1.yes.no [195.119.24.10]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id OAA06274 for ; Tue, 16 Dec 1997 14:26:02 -0800 (PST) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [194.198.43.36]) by ns1.yes.no (8.8.7/8.8.7) with ESMTP id WAA09540; Tue, 16 Dec 1997 22:25:59 GMT Received: (from eivind@localhost) by bitbox.follo.net (8.8.6/8.8.6) id XAA12979; Tue, 16 Dec 1997 23:25:53 +0100 (MET) To: Dale Walker , Jason Evans Cc: freebsd-sparc@FreeBSD.ORG Subject: Re: FAQ FreeBSD-Sparc [frequent posting] References: <199712161352.XAA11649@fantasy.icr.com.au> From: Eivind Eklund Date: 16 Dec 1997 23:25:52 +0100 In-Reply-To: Dale Walker's message of Tue, 16 Dec 1997 23:52:43 +1000 (EST) Message-ID: <86sort9b7z.fsf@bitbox.follo.net> Lines: 37 X-Mailer: Gnus v5.4.52/XEmacs 20.2 Sender: owner-freebsd-sparc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org [Jason Evans (jasone@cannonware.com)] > There is talk of a source tree restructuring, but my feeling is that we > should put this off as long as possible, so that when we do it, we have a > good idea of what we're trying to achieve. Just FYI: There is support for multiple architectures in bsd.subdir.mk already - if a .${MACHINE} exists, it will be preferred over the general version. > There is discussion of how to make bus interfaces abstracted in the kernel. John Mark Gurney is probably your best contact on this, possible along with Jason Thorpe of NetBSD (jason@netbsd.org). > Assumptions about the size of int will need fixed. OK, what assumptions are correct on UltraSPARC? (Here comes a set of possible assumptions; could you try to say which are wrong, and I'll try to fix the places where some of them occur?) 1. (void*)(int)(void*) is lossless AKA Pointers can be stored in an int 2. (void*)(long)(void*) is lossless AKA Pointers can be stored in a long 4. (void*)(any type*)(void*) is lossless AKA Different pointer types are equal 8. sizeof(int) == sizeof(long) 16. sizeof(short)*CHAR_BIT == 16 32. sizeof(int)*CHAR_BIT == 32 64. sizeof(int) == 2*sizeof(short) 128. sizeof(long) == 2*sizeof(short) Just add up the numbers of the points that are wrong and give us the sum :-) (Feel free to add more points by the same scheme first) Eivind.