|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
Performa 475 and OpenBSD 4.0I am running 4.0 on a Performa 475. After updating my source code on
Sep 22 and rebuilding the kernel, the keyboard no longer worked. After I backed out the changed made on 9/17/2006 to src/sys/arch/mac68k/mac68k/clock.c and rebuilt the kernel, the keyboard then worked again. Since I am not familiar with Mac hardware, I am not sure if there is a configuration item that I might need to change before using the new version of clock.c, so I thought I would ask before submitting a bug report. Carl Bloomsburg dmesg: OpenBSD 4.0 (GENERIC) #1: Sat Sep 23 03:48:58 PDT 2006 root@...:/usr/src/sys/arch/mac68k/compile/GENERIC Apple Macintosh LC 475, 68040 CPU+MMU+FPU, 4k on-chip physical I/D caches real mem = 37748736 (36864K) avail mem = 28946432 (28268K) using 460 buffers containing 1884160 bytes (1840K) of memory mainbus0 (root) obio0 at mainbus0 adb0 at obio0: Cuda asc0 at obio0: Apple Sound Chip macfb0 at obio0: DAFB, monitor sense 0 macfb0: 1024x768, monochrome display wsdisplay0 at macfb0 mux 1: console (std, vt100 emulation) esp0 at obio0 (pseudo-DMA): NCR53C96, 16MHz, SCSI ID 7 scsibus0 at esp0: 8 targets sd0 at scsibus0 targ 0 lun 0: <SEAGATE, ST32430N, 0492> SCSI1 0/direct fixed sd0: 2047MB, 3992 cyl, 9 head, 116 sec, 512 bytes/sec, 4193415 sec total cd0 at scsibus0 targ 2 lun 0: <TOSHIBA, CD-ROM XM-5201TA, 3014> SCSI2 5/cdrom removable zsc0 at obio0 zstty0 at zsc0 channel 0 zstty1 at zsc0 channel 1 nubus0 at mainbus0 ae0 at nubus0 slot e: address 00:fe:e1:ba:d0:a7, type Farallon EtherMac LC-TP, 64KB memory adb0: 2 targets akbd0 at adb0 addr 2: keyboard II wskbd0 at akbd0: console keyboard, using wsdisplay0 ams0 at adb0 addr 3: 1-button, 100 dpi mouse wsmouse0 at ams0 mux 0 root on sd0a swap on sd0b rootdev=0x400 rrootdev=0xd00 rawdev=0xd02 |
|
|
Re: Performa 475 and OpenBSD 4.0> I am running 4.0 on a Performa 475. After updating my source code on
> Sep 22 and rebuilding the kernel, the keyboard no longer worked. > After I backed out the changed made on 9/17/2006 to > src/sys/arch/mac68k/mac68k/clock.c and rebuilt the kernel, the keyboard > then worked again. Since I am not familiar with Mac hardware, I am > not sure if there is a configuration item that I might need to change > before using the new version of clock.c, so I thought I would ask > before submitting a bug report. Damned. My fumble, sorry. I have reverted the problematic part of the diff. Can you try the following diff on your LC475 (in addition to the clock.c revert you did), and report whether things still run ok? Thanks, Miod Index: include/viareg.h =================================================================== RCS file: /cvs/src/sys/arch/mac68k/include/viareg.h,v retrieving revision 1.18 diff -u -p -r1.18 viareg.h --- include/viareg.h 2006/01/13 21:02:01 1.18 +++ include/viareg.h 2006/09/26 18:20:42 @@ -212,6 +212,7 @@ typedef SLIST_HEAD(, via2hand) via2hand_ void via_init(void); void via_powerdown(void); +void via_set_aux_interrupts(void); void via_set_modem(int); void add_nubus_intr(int, int (*)(void *), void *, const char *); void enable_nubus_intr(void); Index: mac68k/machdep.c =================================================================== RCS file: /cvs/src/sys/arch/mac68k/mac68k/machdep.c,v retrieving revision 1.134 diff -u -p -r1.134 machdep.c --- mac68k/machdep.c 2006/09/22 22:15:19 1.134 +++ mac68k/machdep.c 2006/09/26 18:20:43 @@ -391,6 +391,7 @@ cpu_startup(void) */ printf(version); identifycpu(); + via_set_aux_interrupts(); vers = mac68k_machine.booter_version; if (vers < CURRENTBOOTERVER) { @@ -1586,14 +1587,6 @@ setmachdep() mac68k_machine.scsi96 = 1; via_reg(VIA1, vIER) = 0x7f; /* disable VIA1 int */ via_reg(VIA2, vIER) = 0x7f; /* disable VIA2 int */ - - /* Enable A/UX interrupt scheme */ - mac68k_machine.aux_interrupts = 1; - via_reg(VIA1, vBufB) &= (0xff ^ DB1O_AuxIntEnb); - via_reg(VIA1, vDirB) |= DB1O_AuxIntEnb; - mac68k_machine.via1_ipl = 6; - mac68k_machine.via2_ipl = 2; - break; case MACH_CLASSAV: VIA2 = VIA2OFF; Index: mac68k/via.c =================================================================== RCS file: /cvs/src/sys/arch/mac68k/mac68k/via.c,v retrieving revision 1.28 diff -u -p -r1.28 via.c --- mac68k/via.c 2006/06/30 15:12:47 1.28 +++ mac68k/via.c 2006/09/26 18:20:44 @@ -175,6 +175,28 @@ via_init() } /* + * Enable A/UX style interrupt scheme now if this model supports it. + */ +void +via_set_aux_interrupts() +{ + switch (current_mac_model->class) { + case MACH_CLASSQ: + case MACH_CLASSQ2: + mac68k_machine.aux_interrupts = 1; + via_reg(VIA1, vBufB) &= (0xff ^ DB1O_AuxIntEnb); + via_reg(VIA1, vDirB) |= DB1O_AuxIntEnb; + + intr_disestablish(mac68k_machine.via1_ipl); + mac68k_machine.via1_ipl = 6; + intr_establish(via1_intr, NULL, mac68k_machine.via1_ipl, "via1"); + /* mac68k_machine.via2_ipl = 2; unchanged */ + intr_init(); + break; + } +} + +/* * Set the state of the modem serial port's clock source. */ void |
|
|
Re: Performa 475 and OpenBSD 4.0The kernel using the diff you provided below is running great so far.
Carl On Sep 26, 2006, at 11:26 AM, Miod Vallat wrote: >> I am running 4.0 on a Performa 475. After updating my source code on >> Sep 22 and rebuilding the kernel, the keyboard no longer worked. >> After I backed out the changed made on 9/17/2006 to >> src/sys/arch/mac68k/mac68k/clock.c and rebuilt the kernel, the >> keyboard >> then worked again. Since I am not familiar with Mac hardware, I am >> not sure if there is a configuration item that I might need to change >> before using the new version of clock.c, so I thought I would ask >> before submitting a bug report. > > Damned. My fumble, sorry. I have reverted the problematic part of the > diff. > > Can you try the following diff on your LC475 (in addition to the > clock.c > revert you did), and report whether things still run ok? > > Thanks, > Miod > > Index: include/viareg.h > =================================================================== > RCS file: /cvs/src/sys/arch/mac68k/include/viareg.h,v > retrieving revision 1.18 > diff -u -p -r1.18 viareg.h > --- include/viareg.h 2006/01/13 21:02:01 1.18 > +++ include/viareg.h 2006/09/26 18:20:42 > @@ -212,6 +212,7 @@ typedef SLIST_HEAD(, via2hand) via2hand_ > > void via_init(void); > void via_powerdown(void); > +void via_set_aux_interrupts(void); > void via_set_modem(int); > void add_nubus_intr(int, int (*)(void *), void *, const char *); > void enable_nubus_intr(void); > Index: mac68k/machdep.c > =================================================================== > RCS file: /cvs/src/sys/arch/mac68k/mac68k/machdep.c,v > retrieving revision 1.134 > diff -u -p -r1.134 machdep.c > --- mac68k/machdep.c 2006/09/22 22:15:19 1.134 > +++ mac68k/machdep.c 2006/09/26 18:20:43 > @@ -391,6 +391,7 @@ cpu_startup(void) > */ > printf(version); > identifycpu(); > + via_set_aux_interrupts(); > > vers = mac68k_machine.booter_version; > if (vers < CURRENTBOOTERVER) { > @@ -1586,14 +1587,6 @@ setmachdep() > mac68k_machine.scsi96 = 1; > via_reg(VIA1, vIER) = 0x7f; /* disable VIA1 int */ > via_reg(VIA2, vIER) = 0x7f; /* disable VIA2 int */ > - > - /* Enable A/UX interrupt scheme */ > - mac68k_machine.aux_interrupts = 1; > - via_reg(VIA1, vBufB) &= (0xff ^ DB1O_AuxIntEnb); > - via_reg(VIA1, vDirB) |= DB1O_AuxIntEnb; > - mac68k_machine.via1_ipl = 6; > - mac68k_machine.via2_ipl = 2; > - > break; > case MACH_CLASSAV: > VIA2 = VIA2OFF; > Index: mac68k/via.c > =================================================================== > RCS file: /cvs/src/sys/arch/mac68k/mac68k/via.c,v > retrieving revision 1.28 > diff -u -p -r1.28 via.c > --- mac68k/via.c 2006/06/30 15:12:47 1.28 > +++ mac68k/via.c 2006/09/26 18:20:44 > @@ -175,6 +175,28 @@ via_init() > } > > /* > + * Enable A/UX style interrupt scheme now if this model supports it. > + */ > +void > +via_set_aux_interrupts() > +{ > + switch (current_mac_model->class) { > + case MACH_CLASSQ: > + case MACH_CLASSQ2: > + mac68k_machine.aux_interrupts = 1; > + via_reg(VIA1, vBufB) &= (0xff ^ DB1O_AuxIntEnb); > + via_reg(VIA1, vDirB) |= DB1O_AuxIntEnb; > + > + intr_disestablish(mac68k_machine.via1_ipl); > + mac68k_machine.via1_ipl = 6; > + intr_establish(via1_intr, NULL, mac68k_machine.via1_ipl, "via1"); > + /* mac68k_machine.via2_ipl = 2; unchanged */ > + intr_init(); > + break; > + } > +} > + > +/* > * Set the state of the modem serial port's clock source. > */ > void |
|
|
Re: Performa 475 and OpenBSD 4.0Using the diff that you gave previously, and changing mac68k/clock.c to
the most recent version that is in CVS, I was able to compile the kernel, and then compile the OpenBSD 4.0 userland on the Performa 475, with everything working the way I expect it to. It took five days to compile the userland code with /usr/src and /usr/obj on an NFS mount, since the hard disk I have is too small otherwise. Carl On Sep 27, 2006, at 6:46 AM, Carl Bloomsburg wrote: > The kernel using the diff you provided below is running great so far. > > Carl > > On Sep 26, 2006, at 11:26 AM, Miod Vallat wrote: > >>> I am running 4.0 on a Performa 475. After updating my source code on >>> Sep 22 and rebuilding the kernel, the keyboard no longer worked. >>> After I backed out the changed made on 9/17/2006 to >>> src/sys/arch/mac68k/mac68k/clock.c and rebuilt the kernel, the >>> keyboard >>> then worked again. Since I am not familiar with Mac hardware, I am >>> not sure if there is a configuration item that I might need to change >>> before using the new version of clock.c, so I thought I would ask >>> before submitting a bug report. >> >> Damned. My fumble, sorry. I have reverted the problematic part of the >> diff. >> >> Can you try the following diff on your LC475 (in addition to the >> clock.c >> revert you did), and report whether things still run ok? >> >> Thanks, >> Miod >> >> Index: include/viareg.h >> =================================================================== >> RCS file: /cvs/src/sys/arch/mac68k/include/viareg.h,v >> retrieving revision 1.18 >> diff -u -p -r1.18 viareg.h >> --- include/viareg.h 2006/01/13 21:02:01 1.18 >> +++ include/viareg.h 2006/09/26 18:20:42 >> @@ -212,6 +212,7 @@ typedef SLIST_HEAD(, via2hand) via2hand_ >> >> void via_init(void); >> void via_powerdown(void); >> +void via_set_aux_interrupts(void); >> void via_set_modem(int); >> void add_nubus_intr(int, int (*)(void *), void *, const char *); >> void enable_nubus_intr(void); >> Index: mac68k/machdep.c >> =================================================================== >> RCS file: /cvs/src/sys/arch/mac68k/mac68k/machdep.c,v >> retrieving revision 1.134 >> diff -u -p -r1.134 machdep.c >> --- mac68k/machdep.c 2006/09/22 22:15:19 1.134 >> +++ mac68k/machdep.c 2006/09/26 18:20:43 >> @@ -391,6 +391,7 @@ cpu_startup(void) >> */ >> printf(version); >> identifycpu(); >> + via_set_aux_interrupts(); >> >> vers = mac68k_machine.booter_version; >> if (vers < CURRENTBOOTERVER) { >> @@ -1586,14 +1587,6 @@ setmachdep() >> mac68k_machine.scsi96 = 1; >> via_reg(VIA1, vIER) = 0x7f; /* disable VIA1 int */ >> via_reg(VIA2, vIER) = 0x7f; /* disable VIA2 int */ >> - >> - /* Enable A/UX interrupt scheme */ >> - mac68k_machine.aux_interrupts = 1; >> - via_reg(VIA1, vBufB) &= (0xff ^ DB1O_AuxIntEnb); >> - via_reg(VIA1, vDirB) |= DB1O_AuxIntEnb; >> - mac68k_machine.via1_ipl = 6; >> - mac68k_machine.via2_ipl = 2; >> - >> break; >> case MACH_CLASSAV: >> VIA2 = VIA2OFF; >> Index: mac68k/via.c >> =================================================================== >> RCS file: /cvs/src/sys/arch/mac68k/mac68k/via.c,v >> retrieving revision 1.28 >> diff -u -p -r1.28 via.c >> --- mac68k/via.c 2006/06/30 15:12:47 1.28 >> +++ mac68k/via.c 2006/09/26 18:20:44 >> @@ -175,6 +175,28 @@ via_init() >> } >> >> /* >> + * Enable A/UX style interrupt scheme now if this model supports it. >> + */ >> +void >> +via_set_aux_interrupts() >> +{ >> + switch (current_mac_model->class) { >> + case MACH_CLASSQ: >> + case MACH_CLASSQ2: >> + mac68k_machine.aux_interrupts = 1; >> + via_reg(VIA1, vBufB) &= (0xff ^ DB1O_AuxIntEnb); >> + via_reg(VIA1, vDirB) |= DB1O_AuxIntEnb; >> + >> + intr_disestablish(mac68k_machine.via1_ipl); >> + mac68k_machine.via1_ipl = 6; >> + intr_establish(via1_intr, NULL, mac68k_machine.via1_ipl, "via1"); >> + /* mac68k_machine.via2_ipl = 2; unchanged */ >> + intr_init(); >> + break; >> + } >> +} >> + >> +/* >> * Set the state of the modem serial port's clock source. >> */ >> void |
| Free embeddable forum powered by Nabble | Forum Help |