bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnumach2 and pcmcia


From: Daniel Wagner
Subject: Re: gnumach2 and pcmcia
Date: Mon, 16 Dec 2002 14:32:55 +0100
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-debian-linux-gnu)

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)))
     {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]