Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Oct 2002 11:18:20 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        gibbs@freebsd.org, current@freebsd.org
Subject:   Re: alpha tinderbox failure
Message-ID:  <15780.18620.457682.641298@grasshopper.cs.duke.edu>
In-Reply-To: <20021008235836.B44108-100000@mail.chesapeake.net>
References:  <200210082312.g98NCS5R025098@beast.freebsd.org> <20021008235836.B44108-100000@mail.chesapeake.net>

next in thread | previous in thread | raw e-mail | index | archive | help

Jeff Roberson writes:
 > 
 > 
 > On Tue, 8 Oct 2002, Dag-Erling Smorgrav wrote:
 > > "Makefile", line 4194: warning: duplicate script for target "geom_bsd.o" ignored
 > > cc1: warnings being treated as errors
 > > /h/des/src/sys/dev/advansys/adv_pci.c: In function `adv_pci_attach':
 > > /h/des/src/sys/dev/advansys/adv_pci.c:197: warning: overflow in implicit constant conversion
 > > *** Error code 1
 > 
 > Any progress on this?

This particular message is caused by alpha's 

#define BUS_SPACE_UNRESTRICTED  (~0UL)

Clashing with int nsegments:

/* XXX Should probably allow specification of alignment */
int bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignemnt,
                       bus_size_t boundary, bus_addr_t lowaddr,
                       bus_addr_t highaddr, bus_dma_filter_t *filtfunc,
                       void *filtfuncarg, bus_size_t maxsize, int nsegments,
                       bus_size_t maxsegsz, int flags, bus_dma_tag_t *dmat);



Sparc64 has the same problem.  ia64 gets around it by just making
BUS_SPACE_UNRESTRICTED an int:

#define BUS_SPACE_UNRESTRICTED (~0)

I'd like to do the same for alpha.   I think this is valid, as
BUS_SPACE_UNRESTRICTED seems to be used exlusively as an argument
to bus_dma_tag_create(... nsegments = BUS_SPACE_UNRESTRICTED...)

I'd also like to add a bus_space_subregion().  Please review the
appended patch.  I'm running it with no ill effects, and it makes
alpha get a bit further on in LINT. (until it dies on printf format
warnings).   Its going to be a bear to get a clean lint with Werror.
All those crusty old isa drivers casting pointers to integers make
me feel a bit overwhelmed.

It would be nice if des could remove LINT from the tinderbox builds
until LINT has a chance of compiling.  Right now people are ignoring
the alpha tinderbox failure messages.  Eventually, it will fail for a
reason besides useless LINT garbage, and everybody will ignore it.

Drew

Index: include/bus.h
===================================================================
RCS file: /home/ncvs/src/sys/alpha/include/bus.h,v
retrieving revision 1.11
diff -u -r1.11 bus.h
--- include/bus.h	4 Oct 2002 20:40:39 -0000	1.11
+++ include/bus.h	9 Oct 2002 00:06:39 -0000
@@ -88,7 +88,27 @@
 /* The largest address space known so far is 40 bits */
 #define BUS_SPACE_MAXADDR	0xFFFFFFFFFUL
 
-#define BUS_SPACE_UNRESTRICTED	(~0UL)
+#define BUS_SPACE_UNRESTRICTED	(~0)
+
+/*
+ * Get a new handle for a subregion of an already-mapped area of bus space.
+ */
+
+static __inline int bus_space_subregion(bus_space_tag_t t,
+					bus_space_handle_t bsh,
+					bus_size_t offset, bus_size_t size,
+					bus_space_handle_t *nbshp);
+
+static __inline int
+bus_space_subregion(bus_space_tag_t t __unused, bus_space_handle_t bsh,
+		    bus_size_t offset, bus_size_t size __unused,
+		    bus_space_handle_t *nbshp)
+{
+
+	*nbshp = bsh + offset;
+	return (0);
+}
+
 
 struct alpha_busspace;
 

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




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