Hi Marcus has asking me to post the patches which are needed to get a 'stable' kernel using pcmcia. These patches disable some code which trigger some fatal bugs and therefor they are just quick and dirty hack. They don't solve the problem.
I have uploaded a new version of the pcmcia patch. Now the other widely spread pcmcia brigde (tcic) is activated. The pcmcia code depends somehow on cardbus functionality. That means that even though there is no cardbus enabled it uses some parts of the cardbus code. The only way out I see is to fix this, is to support cardbus. But I said earlier for this I need a cardbus card :) dani Don't call the softclock out of splx: --- gnumach.orig/i386/i386/spl.S Thu Dec 5 21:02:28 2002 +++ gnumach/i386/i386/spl.S Thu Dec 5 21:38:48 2002 @@ -56,6 +56,11 @@ ENTRY(spl0) movl EXT(curr_ipl),%eax /* save current ipl */ pushl %eax cli /* disable interrupts */ +/* + * XXX Don't call softclock, it results in a panic in the linux code glued in + * from OSKit. Our softint implementation is broken. + */ +#if 0 cmpl $0,softclkpending /* softclock pending? */ je 1f /* no, skip */ movl $0,softclkpending /* clear flag */ @@ -63,6 +68,7 @@ ENTRY(spl0) call EXT(softclock) /* go handle interrupt */ cli /* disable interrupts */ 1: +#endif cmpl $(SPL0),EXT(curr_ipl) /* are we at spl0? */ je 1f /* yes, all done */ movl $(SPL0),EXT(curr_ipl) /* set ipl */ @@ -129,6 +135,11 @@ splx_cli: cli /* disable interrupts */ testl %edx,%edx /* spl0? */ jnz 2f /* no, skip */ +/* + * XXX Don't call softclock, it results in a panic in the linux code glued in + * from OSKit. Our softint implementation is broken. + */ +#if 0 cmpl $0,softclkpending /* softclock pending? */ je 1f /* no, skip */ movl $0,softclkpending /* clear flag */ @@ -136,6 +147,7 @@ splx_cli: call EXT(softclock) /* go handle interrupt */ cli /* disable interrupts */ 1: +#endif xorl %edx,%edx /* edx = ipl 0 */ 2: cmpl EXT(curr_ipl),%edx /* same ipl as current? */ And disable this assertion. Index: osenv_mem.c =================================================================== RCS file: /cvsroot/hurd/gnumach/oskit/osenv_mem.c,v retrieving revision 1.2 diff -u -r1.2 osenv_mem.c --- osenv_mem.c 27 May 2002 23:01:57 -0000 1.2 +++ osenv_mem.c 16 Dec 2002 13:13:21 -0000 @@ -103,9 +103,11 @@ Always go directly to physical memory. */ flags |= OSENV_VIRT_EQ_PHYS|OSENV_PHYS_WIRED|OSENV_PHYS_CONTIG; +#if 0 if (in_oskit_interrupt) /* The oskit documentation says an interrupt caller must set the flag. */ assert (flags & OSENV_NONBLOCKING); +#endif if (!(flags & (OSENV_NONBLOCKING|OSENV_PHYS_WIRED))) { _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd