Date: Wed, 11 Nov 2009 22:36:19 +0000 (UTC) From: Randall Stewart <rrs@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r199203 - projects/mips/sys/mips/rmi Message-ID: <200911112236.nABMaJY9009448@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rrs Date: Wed Nov 11 22:36:19 2009 New Revision: 199203 URL: http://svn.freebsd.org/changeset/base/199203 Log: Ok set in the values in clock 7 as in the original codes (I had changed one by accident) Also do the pic_ack/pic_delayed_ack after the interrupt so we clear it. The clock with these changes starts working. Its off doing a short/long short/long warning but it now runs. My NFS mount now works but has the same problem with sbin/init (errno 8 ENOEXEC) so it panics with no init. Either this is a problem with my buildworld.. OR its a yet undiscovered RMI issue. Modified: projects/mips/sys/mips/rmi/clock.c projects/mips/sys/mips/rmi/intr_machdep.c Modified: projects/mips/sys/mips/rmi/clock.c ============================================================================== --- projects/mips/sys/mips/rmi/clock.c Wed Nov 11 22:31:02 2009 (r199202) +++ projects/mips/sys/mips/rmi/clock.c Wed Nov 11 22:36:19 2009 (r199203) @@ -240,7 +240,7 @@ platform_initclocks(void) pic_update_control(1 << (8 + 7)); xlr_write_reg(mmio, PIC_TIMER_6_MAXVAL_0, (0xffffffff & 0xffffffff)); - xlr_write_reg(mmio, PIC_TIMER_6_MAXVAL_1, (0xffffffff & 0xffffffff)); + xlr_write_reg(mmio, PIC_TIMER_6_MAXVAL_1, (0x0 & 0xffffffff)); xlr_write_reg(mmio, PIC_IRT_0_TIMER_6, (1 << cpu)); xlr_write_reg(mmio, PIC_IRT_1_TIMER_6, (1 << 31) | (0 << 30) | (1 << 6) | (PIC_TIMER_6_IRQ)); pic_update_control(1 << (8 + 6)); Modified: projects/mips/sys/mips/rmi/intr_machdep.c ============================================================================== --- projects/mips/sys/mips/rmi/intr_machdep.c Wed Nov 11 22:31:02 2009 (r199202) +++ projects/mips/sys/mips/rmi/intr_machdep.c Wed Nov 11 22:36:19 2009 (r199203) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include <mips/rmi/xlrconfig.h> #include <mips/rmi/interrupt.h> #include <mips/rmi/clock.h> +#include <mips/rmi/pic.h> /*#include <machine/intrcnt.h>*/ @@ -167,6 +168,7 @@ cpu_intr(struct trapframe *tf) ie = mih->mih_event; write_c0_eirr64(1ULL << i); + pic_ack(i); if (!ie || TAILQ_EMPTY(&ie->ie_handlers)) { printf("stray interrupt %d\n", i); continue; @@ -174,6 +176,7 @@ cpu_intr(struct trapframe *tf) if (intr_event_handle(ie, tf) != 0) { printf("stray interrupt %d\n", i); } + pic_delayed_ack(i); } critical_exit(); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911112236.nABMaJY9009448>