Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Apr 2000 04:19:29 -0400 (EDT)
From:      Mike Nowlin <mike@argos.org>
To:        freebsd-current@freebsd.org
Subject:   Geek Port crash
Message-ID:  <Pine.LNX.4.05.10004150406230.28959-100000@jason.argos.org>

next in thread | raw e-mail | index | archive | help

Bringing back a problem discussed earlier that I couldn't find a
resolution on, I'm having problems with the ppi interface blowing up the
system (CVSup'd to 4.0-CURRENT somewhere around April 3).  (I just want my
dumb little 8-bit LED array to blink on and off and show no useful
information! :) )  

I'll try to update tomorrow and try it again, but I get the feeling that
I'll have the same problem.

Crash dumps and kernels available upon request - I don't know enough about
the irq handling to even begin to look at this one...


The crash:

hawk:/home/mike# ./geekport
panic: nexus_setup_intr: NULL irq resource!

syncing disks... 6 6
done
Uptime: 3m28s

dumping to dev #ad/0x20001, offset 73728
dump ata0: resetting devices .. done
64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40
39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15
14 13 12 11 10 9 8 7 6 5 4 3 2 1 succeeded
Automatic reboot in 15 seconds - press a key on the console to abort


...The core dump messages:

checking for core dump...savecore: reboot after panic: nexus_setup_intr:
NULL irq resource!
Apr 14 22:59:29 hawk savecore: reboot after panic: nexus_setup_intr: NULL
irq resource!
savecore: system went down at Frfi Apr 14 22:57:0x2 2000
savecore: /var/crash/bounds: No such file or directory
savecore: writing core to /var/crash/vmcore.0
savecore: writing kernel to /var/crash/kernel.0


The code which triggers this:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <sys/fcntl.h>
#include </sys/dev/ppbus/ppi.h>
// #include </sys/dev/ppbus/ppbconf.h>     
//   ^^^ will not compile if this is in there!

#define PPIDEV "/dev/ppi0"

main()
{
        int x, y, fd;

        fd = open(PPIDEV, O_RDWR);
        if (fd < 0) {
                printf("can't open %s\n", PPIDEV);
                exit(1);
        }

        for(;;) {
                for (x=0; x<=255; x++) {
                        y = ioctl(fd, PPISDATA, &x);
                        sleep(1);
                }
        }
}


--Thanks - Mike




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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