Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Sep 1997 23:46:36 +0200
From:      Ollivier Robert <roberto@keltia.freenix.fr>
To:        FREEBSD <freebsd-hackers@freebsd.org>
Cc:        Philippe.Brun@eurocontrol.fr
Subject:   Re: Port an arinc isa bus driver from HP Unix
Message-ID:  <19970910234636.15636@keltia.freenix.fr>
In-Reply-To: <19970910172336.17475@lemis.com>; from Greg Lehey on Wed, Sep 10, 1997 at 05:23:36PM %2B0930
References:  <3416CCEB@brteec1> <19970910172336.17475@lemis.com>

next in thread | previous in thread | raw e-mail | index | archive | help
According to Greg Lehey:
> If you don't, nobody will.  Where did it panic?  What was the
> instruction?  There's no reason to assume it happened in the function
> you list.

The code in isa.c tries to configure the card and tries to deference the
address given in the config line (maddr 0xf0000) and kvtop() panics.

The trace from memory is

kvtop
config_isadev_c
config_isadev

the line triggering the panic()is the following:

isa.c:
                        if (isdp->id_maddr)
                                printf(" maddr 0x%lx", kvtop(isdp->id_maddr));

isdp->is_maddr is given to kvtop() as 0xf0f0000 (where it should probably
be 0xf0000 I guess) and kvtop() can't find the address in the page tables.

The main problem that I see is that the card wants to have its shared
memory segment at 0xf0000 (that is, outside the usual 384 KB segment). I'm
not a kernel guru and I see a problem where the kernel think it is using a
virtual address where it is given a physical one (or the reverse).

(in case one is wondering, Philippe is working in the same firm as I do and
I'm responsible for him using FreeBSD instead of Linux :-)
-- 
Ollivier ROBERT -=- FreeBSD: There are no limits -=- roberto@keltia.freenix.fr
FreeBSD keltia.freenix.fr 3.0-CURRENT #31: Sat Sep  6 21:58:17 CEST 1997



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