Date: Tue, 26 Jan 1999 05:28:12 -0500 (EST) From: Simon Shapiro <shimon@simon-shapiro.org> To: Matthew Jacob <mjacob@feral.com> Cc: freebsd-alpha@FreeBSD.ORG Subject: Re: Alpha Driver Help Requested Message-ID: <XFMail.990126052812.shimon@simon-shapiro.org> In-Reply-To: <Pine.LNX.4.04.9901261825410.22055-100000@feral-gw>
index | next in thread | previous in thread | raw e-mail
Matthew Jacob, On 27-Jan-99 you wrote:
>
> Simon- I even have a DPT and an Alpha (PC164), but lack of time, really,
> to help much with this.
I appreciate the though, but I am rather capable of handling the DPT part.
Why outl panics on a ``lie'' is a bit beyond my immediate knowledge.
I narrowed down the failure to line 467 in sys/alpha/bus.h which simply
says:
outl(bsh + offset, value);
In turn, outl is really a bizzare thing; In chipset.h we find:
typedef void alpha_chipset_outl_t(u_int32_t port,
u_int32_t data);
Later, in the same file, there is a structure called alpha_chipset:
typedef struct alpha_chipset {
/*
* I/O port access
*/
alpha_chipset_inb_t* inb;
alpha_chipset_inw_t* inw;
alpha_chipset_inl_t* inl;
alpha_chipset_outb_t* outb;
alpha_chipset_outw_t* outw;
alpha_chipset_outl_t* outl;
...
void*
} alpha_chipset_t;
extern alpha_chipset_t chipset;
Now, in sys/alpha/alpha/machdep.c there is a global declaration:
alpha_chipset_t chipset;
I tried to find references to chipset elsewhere, but there is none. It
must be that it is initialized by some black magin in the boot process.
I am quite certain that the function pointer outl in chipset is bogus, or
points to a function other than outl, or the function it points to takes
different arguments than specified in the source.
I hope for someone who already knows the mysteries of the chipsets to come
to my rescue...
>
> Which alpha platform are you using?
I have two; Source is on a PW 433au. The panics are on some no name
Motherboard in a box. Here is the dmesg top portion. Interesting how the
panic form te PREVIOUS boot is there in the buffer. How do they do that?
machine/bus.h.467
machine/bus.h.473
fatal kernel trap:
trap entry = 0x4 (unaligned access fault)
a0 = 0xfffffca900010192
a1 = 0x2c
a2 = 0x11
pc = 0xfffffc00004a77bc
ra = 0xfffffc000034f958
curproc = 0
ddbprinttrap(0xfffffca900010192, 0x2c, 0x11, 0x4)
panic: trap
panic
Rebooting...
Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 3.0-19981108-SNAP #0: Sun Nov 8 16:51:40 GMT 1998
root@sloth.noc.erols.net:/usr/src/sys/compile/GENERIC
EB164
Digital AlphaPC 164LX 533 MHz, 531MHz
8192 byte page size, 1 processor.
real memory = 669138944 (653456K bytes)
avail memory = 646782976 (631624K bytes)
Preloaded elf kernel "kernel" at 0xfffffc00005ac000.
cia0: <2117x PCI adapter>
cia0: Pyxis, pass 1
cia0: extended capabilities: 1<BWEN>
isa0
Probing for devices on PCI bus 0:
de0: <Digital 21140A Fast Ethernet> rev 0x22 int a irq 2 on pci0.5.0
de0: DEC DE500-AA 21140A [10-100Mb/s] pass 2.2
de0: address 00:00:f8:10:7d:5b
Qlogic ISP Driver, FreeBSD CAM Version 0.97, Core Version 1.3
isp0: <Qlogic ISP 10X0 PCI SCSI Adapter> rev 0x05 int a irq 1 on pci0.7.0
isp0: using Memory space register mapping
isp0: Board Revision 1040B, loaded F/W Revision 7.55
isp0: Last F/W revision was 5.53
chip0: <Intel 82378IB PCI to ISA bridge> rev 0x43 on pci0.8.0
vga0: <S3 Trio graphics accelerator> rev 0x00 int a irq 3 on pci0.9.0
mcclock0: <MC146818A real time clock> at 0x70-0x71 on isa0
>
>
> On Tue, 26 Jan 1999, Simon Shapiro wrote:
>
> > [ Sorry for the incomplete message. Slip of the trackball :-( ]
> >
> > Hi Y'll
> >
> > I am back to trying to get the DPT drivers to work in FreeBSD on the
> > Alpha.
> > I feel I need some expoert help to get this driver to work.
> >
> > Pogress Summary (current state):
> >
> > * I have upgraded to source tree to 1990114.
> >
> > * This is a pristine source tree, uncontaminated by any of my HAS
> > work.
> >
> > * I have removed most of the assumptions (in the CAM version I am
> > working
> > from) that 32bit integer and a physical address and a pointer are
> > all
> > synonyms. these changes are syntatically kludgy but, for the case
> > in
> > hand (only i386 and alpha on the tree, with i386 being 32bit
> > pointers)
> > they appear correct. Either way, this is not where the problem is.
> >
> > * The driver panics on trap entry 0x4 (unaligned access fault). This
> > happens in the following code snippet:
> >
> > dpt_outl(dpt, HA_WDMAADDR, cmd_busaddr);
> >
> > All the arguments are of the correct type.
> >
> > * Dpt_outl parses as per this macro:
> >
> > #define dpt_outl(dpt, port, value) \
> > bus_space_write_4((dpt)->tag, (dpt)->bsh, port, value)
> >
> > * I have tried to track what bus_space_write_4 does, and it seems to
> > me it
> > does what it should.
> >
> > I would really like to have this problem licked so I can get the driver
> > working. Quite a bit IRT FreeBSD at my place of employment rides on
> > being
> > able to complete this task.
> >
> > Logistically, I have a dedicated source machine and a dedicate dtest
> > machine, both can be available if one desires to login and try
> > something.
> >
> >
> >
> > Sincerely,
> >
> > Simon Shapiro
> > Research Fellow, Office of Technology ShapiroS@MindSpring.com
> > MindSpring Enterprises, Inc. 404.815.0770 ext. 2057
> >
> >
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-alpha" in the body of the message
> >
>
Sincerely Yours, Shimon@Simon-Shapiro.ORG
770.265.7340
Simon Shapiro
Unwritten code has no bugs and executes at twice the speed of mouth
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.990126052812.shimon>
