From owner-freebsd-current Thu Nov 30 9:40:39 2000 Delivered-To: freebsd-current@freebsd.org Received: from mail.du.gtn.com (mail.du.gtn.com [194.77.9.57]) by hub.freebsd.org (Postfix) with ESMTP id DD89C37B404 for ; Thu, 30 Nov 2000 09:40:33 -0800 (PST) Received: from mail.cicely.de (cicely.de [194.231.9.142]) by mail.du.gtn.com (8.11.0.Beta3/8.11.0.Beta3) with ESMTP id eAUHeMl13127 (using TLSv1/SSLv3 with cipher EDH-RSA-DES-CBC3-SHA (168 bits) verified OK); Thu, 30 Nov 2000 18:40:24 +0100 (MET) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0.Beta1/8.11.0.Beta1) with ESMTP id eAUHeTM66629; Thu, 30 Nov 2000 18:40:30 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.0/8.9.2) id eAUHeOQ48516; Thu, 30 Nov 2000 18:40:24 +0100 (CET) (envelope-from ticso) Date: Thu, 30 Nov 2000 18:40:23 +0100 From: Bernd Walter To: Andrew Gallatin Cc: Wilko Bulte , Mike Eldridge , freebsd-current@freebsd.org Subject: Re: Patch for current on LCA based alphas Message-ID: <20001130184022.A48497@cicely8.cicely.de> References: <20001125193430.A40717@cicely8.cicely.de> <20001127224321.F1846@freebie.demon.nl> <20001128014038.A44759@cicely8.cicely.de> <14885.23282.73569.898582@grasshopper.cs.duke.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0.1i In-Reply-To: <14885.23282.73569.898582@grasshopper.cs.duke.edu>; from gallatin@cs.duke.edu on Wed, Nov 29, 2000 at 02:47:54PM -0500 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, Nov 29, 2000 at 02:47:54PM -0500, Andrew Gallatin wrote: > > Bernd Walter writes: > > > > trap entry = 0x2 (memory management fault) > > a0 = 0xfffffbf1e0000018 > > a1 = 0x1 > > a2 = 0x0 > > pc = 0xfffffc0000557a10 > > ra = 0xfffffc000055791c > > curproc = 0xfffffc000062f118 > > pid = 0, comm = swapper > > Bernd, > > Note the faulting address. It is not a k0seg address. This means > something went negative, most likely in the LCA_CFGOFF macro. Here's > why.. > > After Doug's busspace changes, the *pcib_{read,write}_config() > functions were introduced. They take signed args and pass them to the > CFGOFF macro. Previously, the arguments to the LCA_CFGOFF macro were > provided by the lca_cfg{read,write}{b,w,l} functions and were > unsigned. > > Can you try the following patch (after backing yours out). A similar > patch fixes the same problem on an AlphaServer 2100. I'd like to fix > this in all the pcib_{read,write}_config functions at once... I also needed to change the prototype in alpha/pci/lcavar.h. The host booted fine but we should clear if 32 bit is the correct way to do it. I don't have any device over 12 so it may not be visible if there is a fault. > Index: lca_pci.c > =================================================================== > RCS file: /home/ncvs/src/sys/alpha/pci/lca_pci.c,v > retrieving revision 1.7 > diff -u -r1.7 lca_pci.c > --- lca_pci.c 2000/08/31 16:19:27 1.7 > +++ lca_pci.c 2000/11/29 19:39:27 > @@ -130,8 +130,8 @@ > } while (0) > > u_int32_t > -lca_pcib_read_config(device_t dev, int b, int s, int f, > - int reg, int width) > +lca_pcib_read_config(device_t dev, u_int b, u_int s, u_int f, > + u_int reg, int width) > { > switch (width) { > case 1: > @@ -147,8 +147,8 @@ > } > > static void > -lca_pcib_write_config(device_t dev, int b, int s, int f, > - int reg, u_int32_t val, int width) > +lca_pcib_write_config(device_t dev, u_int b, u_int s, u_int f, > + u_int reg, u_int32_t val, int width) > { > switch (width) { > case 1: -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message