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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.990126052812.shimon>