Date: Fri, 1 Dec 2000 19:30:42 +0100 From: Bernd Walter <ticso@cicely8.cicely.de> To: Matthew Jacob <mjacob@feral.com> Cc: Andrew Gallatin <gallatin@cs.duke.edu>, Peter Wemm <peter@netplex.com.au>, freebsd-alpha@FreeBSD.ORG Subject: Re: Patch to make my PC164 booting. Message-ID: <20001201193042.A49869@cicely8.cicely.de> In-Reply-To: <Pine.BSF.4.21.0011301933210.59011-100000@beppo.feral.com>; from mjacob@feral.com on Thu, Nov 30, 2000 at 07:34:03PM -0800 References: <14887.6213.634085.237730@grasshopper.cs.duke.edu> <Pine.BSF.4.21.0011301933210.59011-100000@beppo.feral.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--3MwIy2ne0vdjdPXF Content-Type: text/plain; charset=us-ascii On Thu, Nov 30, 2000 at 07:34:03PM -0800, Matthew Jacob wrote: > > On Thu, 30 Nov 2000, Andrew Gallatin wrote: > > > Are we sure it works on PC164LX and PC164SX in addtion to PC164? > > No, we're not. Peter? You have a SX don't you? The attached patch makes it apply only to PC164 systems. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de --3MwIy2ne0vdjdPXF Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="pc164.diff" Index: alpha/alpha/dec_eb164.c =================================================================== RCS file: /vol/cvs/FreeBSD/src/sys/alpha/alpha/dec_eb164.c,v retrieving revision 1.10 diff -u -r1.10 dec_eb164.c --- alpha/alpha/dec_eb164.c 2000/07/18 18:26:03 1.10 +++ alpha/alpha/dec_eb164.c 2000/12/01 18:27:04 @@ -57,6 +57,8 @@ static void eb164_intr_init(void); extern void eb164_intr_enable(int irq); extern void eb164_intr_disable(int irq); +extern void eb164_intr_enable_icsr(int irq); +extern void eb164_intr_disable_icsr(int irq); extern int siocnattach __P((int, int)); extern int siogdbattach __P((int, int)); @@ -76,8 +78,13 @@ platform.cons_init = dec_eb164_cons_init; platform.pci_intr_init = eb164_intr_init; platform.pci_intr_map = NULL; - platform.pci_intr_disable = eb164_intr_disable; - platform.pci_intr_enable = eb164_intr_enable; + if (strncmp(platform.model, "Digital AlphaPC 164 ", 20) == 0) { + platform.pci_intr_disable = eb164_intr_disable_icsr; + platform.pci_intr_enable = eb164_intr_enable_icsr; + } else { + platform.pci_intr_disable = eb164_intr_disable; + platform.pci_intr_enable = eb164_intr_enable; + } } extern int comconsole; /* XXX for forcing comconsole when srm serial console is used */ Index: alpha/pci/pci_eb164_intr.s =================================================================== RCS file: /vol/cvs/FreeBSD/src/sys/alpha/pci/pci_eb164_intr.s,v retrieving revision 1.3 diff -u -r1.3 pci_eb164_intr.s --- alpha/pci/pci_eb164_intr.s 2000/11/09 17:01:21 1.3 +++ alpha/pci/pci_eb164_intr.s 2000/12/01 18:00:49 @@ -63,3 +63,33 @@ call_pal PAL_cserve RET END(eb164_intr_disable) + + .text +LEAF(eb164_intr_enable_icsr,1) + mov a0, a1 + ldiq a0, 0x34 + call_pal PAL_cserve + ldiq a0, 0x08 /* Allow PALRES */ + call_pal PAL_cserve + .long 0x66100118 /* hw_mfpr a0, icsr */ + ldah a1, 0x0020 /* IMSK1 */ + or a0, a1, a0 + xor a0, a1, a0 + .long 0x76100118 /* hw_mtpr a0, icsr */ + ldiq a0, 0x09 /* Disable PALRES */ + call_pal PAL_cserve + RET + END(eb164_intr_enable_icsr) + + .text +LEAF(eb164_intr_disable_icsr,1) + ldiq a0, 0x08 /* Allow PALRES */ + call_pal PAL_cserve + .long 0x66100118 /* hw_mfpr a0, icsr */ + ldah a1, 0x0020 /* IMSK1 */ + or a0, a1, a0 + .long 0x76100118 /* hw_mtpr a0, icsr */ + ldiq a0, 0x09 /* Disable PALRES */ + call_pal PAL_cserve + RET + END(eb164_intr_disable_icsr) --3MwIy2ne0vdjdPXF-- 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?20001201193042.A49869>