]> Zhao Yanbai Git Server - minix.git/commitdiff
Set IOPL when /dev/mem is opened. Fixed small bug in MIOCMAP/MIOCUNMAP
authorPhilip Homburg <philip@cs.vu.nl>
Fri, 4 Nov 2005 17:16:54 +0000 (17:16 +0000)
committerPhilip Homburg <philip@cs.vu.nl>
Fri, 4 Nov 2005 17:16:54 +0000 (17:16 +0000)
drivers/memory/memory.c

index 5581d6cd3b9c4f68c44041ec1b8e178850452bf1..52162d51e2bc3c93fb3202e94296bc2105066b35 100644 (file)
@@ -205,8 +205,20 @@ PRIVATE int m_do_open(dp, m_ptr)
 struct driver *dp;
 message *m_ptr;
 {
+  int r;
+
 /* Check device number on open. */
   if (m_prepare(m_ptr->DEVICE) == NIL_DEV) return(ENXIO);
+  if (m_device == MEM_DEV)
+  {
+       r = sys_enable_iop(m_ptr->PROC_NR);
+       if (r != OK)
+       {
+               printf("m_do_open: sys_enable_iop failed for %d: %d\n",
+                       m_ptr->PROC_NR, r);
+               return r;
+       }
+  }
   return(OK);
 }
 
@@ -345,6 +357,7 @@ message *m_ptr;                             /* pointer to control message */
        int r, do_map;
        struct mapreq mapreq;
 
+       if ((*dp->dr_prepare)(m_ptr->DEVICE) == NIL_DEV) return(ENXIO);
        if (m_device != MEM_DEV)
                return ENOTTY;