Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Feb 2003 20:02:50 -0800
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        freebsd-arch@FreeBSD.ORG
Subject:   Re: [RFC] splitting of conf/NOTES
Message-ID:  <20030224040250.GA19558@athlon.pn.xcllnt.net>
In-Reply-To: <20030224023118.GD67312@dragon.nuxi.com>
References:  <20030224001644.GA67255@dragon.nuxi.com> <20030224120037.D4403-100000@gamplex.bde.org> <20030224023118.GD67312@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Using snippets of the patch as the red line...

\begin{snippet}
-LINT: ../../conf/NOTES NOTES ../../conf/makeLINT.sed
-	cat ../../conf/NOTES NOTES | sed -E -n -f ../../conf/makeLINT.sed > LINT
+NOTES=	../../conf/NOTES \
+	../../conf/NOTES.bt \
+	../../conf/NOTES.ext2fs \
+	../../conf/NOTES.ps2 \
+	../../conf/NOTES.raid \
+	../../conf/NOTES.syscons \
+	NOTES
+
+LINT: ${NOTES} ../../conf/makeLINT.sed
+	cat ${NOTES} | sed -E -n -f ../../conf/makeLINT.sed > LINT
\end{snippet}

As I said before, I like the idea. I don't think this is the best
separation though. To me it makes more sense to categorize based
on hardware characteristics, such as bus. In that light, I probably
would merge NOTES.ps2 and NOTES.syscons into a NOTES.legacy.
There's probably also a chicken and egg problem in that we may want
to clean up the code in relation to the categorization. A split by
itself (ie without the code cleanup) is probably sub-optimal no
matter how you split.

\begin{snippet}
@@ -150,8 +150,13 @@
     u_int32_t		target_address:12;
     u_int32_t		initiator_address:12;
     u_int32_t		function:8;
+#if defined(__alpha__) || defined(__sparc64__)
+    u_int64_t		initiator_context;
+    u_int64_t		transaction_context;
+#else
     u_int32_t		initiator_context;
     u_int32_t		transaction_context;
+#endif
     u_int16_t		detailed_status;
 #define I2O_DETAIL_STATUS_SUCCESS			0x0000
 #define I2O_DETAIL_STATUS_BAD_KEY			0x0002
\end{snippet}

It makes sense in the above case to be able to test for __ILP32__
or __LP64__ rather than listing all the 64-architectures. Needless
to say that the above code is broken on ia64 (irrespective whether
it could actually be used on ia64). On ia64, _LP64 and __LP64__
are defined, but I don't know if that's true for all 64-bit
platforms that we support.

\begin{snippet}
Index: sparc64/isa/isa_dma.c
===================================================================
RCS file: sparc64/isa/isa_dma.c
diff -N sparc64/isa/isa_dma.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sparc64/isa/isa_dma.c	23 Feb 2003 23:12:42 -0000
@@ -0,0 +1,105 @@
\end{snippet}

This file appears to be glue only. We really should get rid of
our isa/legacy infected MI code so that we don't have to pollute
new architectures with this.

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030224040250.GA19558>