Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Compilable version with both lwip and uip
[palacios.git] / palacios / src / lwip / arch / sys_arch.c
index f11d0ff..d5fa76d 100644 (file)
  *    will block until there is more room instead of just
  *    leaking messages.
  */
+/*
+ * Modified by Lei Xia (lxia@northwestern.edu) to fit to Palacios, 9/29/2008
+ */
 #include "lwip/debug.h"
 
 #include <string.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <pthread.h>
 
+#include <palacios/vmm.h>
 #include <geekos/synch.h>
 #include <geekos/kthread.h>
-#include <palacios/vmm.h>
 #include <geekos/debug.h>
+#include <geekos/timer.h>
+#include <geekos/malloc.h>
 
 #include "lwip/sys.h"
 #include "lwip/opt.h"
@@ -103,15 +103,15 @@ struct sys_thread {
 };
 
 
-static struct timeval starttime;
+//static struct timeval starttime;
 
 //static pthread_mutex_t lwprot_mutex = PTHREAD_MUTEX_INITIALIZER;
 static struct Mutex lwprot_mutex; // !!!! need to be initiated, void Mutex_Init(struct Mutex* mutex);
 
 //static pthread_t lwprot_thread = (pthread_t) 0xDEAD;
-static struct Kernel_Thread lwprot_thread = (struct Kernel_Thread) 0xDEAD;  //!!!!! how to set it to a NULL thread?
+//static struct Kernel_Thread lwprot_thread = (struct Kernel_Thread) 0xDEAD;  //!!!!! how to set it to a NULL thread?
 
-static int lwprot_count = 0;
+//static int lwprot_count = 0;
 
 static struct sys_sem *sys_sem_new_(u8_t count);
 static void sys_sem_free_(struct sys_sem *sem);
@@ -125,7 +125,7 @@ introduce_thread(struct Kernel_Thread *id /*pthread_t id*/)
 {
   struct sys_thread *thread;
   
-  thread = (struct sys_thread *)V3_Malloc(sizeof(struct sys_thread)); 
+  thread = (struct sys_thread *)Malloc(sizeof(struct sys_thread)); 
     
   if (thread != NULL) {
     //pthread_mutex_lock(&threads_mutex);
@@ -193,12 +193,12 @@ current_thread(void)
 sys_thread_t
 sys_thread_new(char *name, void (* function)(void *arg), void *arg, int stacksize, int prio)
 {
-  int code;
+  //int code;
   //pthread_t tmp;
   struct Kernel_Thread *tmp;
   struct sys_thread *st = NULL;
   
-  //tmp = (struct Kernel_Thread *)V3_Malloc(sizeof(struct Kernel_Thread));
+  //tmp = (struct Kernel_Thread *)Malloc(sizeof(struct Kernel_Thread));
   
   /* code = pthread_create(&tmp,
                         NULL, 
@@ -227,7 +227,7 @@ sys_mbox_new(int size)
 {
   struct sys_mbox *mbox;
   
-  mbox = (struct sys_mbox *)V3_Malloc(sizeof(struct sys_mbox));
+  mbox = (struct sys_mbox *)Malloc(sizeof(struct sys_mbox));
   if (mbox != NULL) {
     mbox->first = mbox->last = 0;
     mbox->mail = sys_sem_new_(0);
@@ -258,7 +258,7 @@ sys_mbox_free(struct sys_mbox *mbox)
     mbox->mail = mbox->mutex = NULL;
     /*  LWIP_DEBUGF("sys_mbox_free: mbox 0x%lx\n", mbox); */
 
-    V3_Free(mbox); 
+    Free(mbox); 
   }
 }
 /*-----------------------------------------------------------------------------------*/
@@ -421,7 +421,7 @@ sys_sem_new_(u8_t count)
 {
   struct sys_sem *sem;
   
-  sem = (struct sys_sem *)V3_Malloc(sizeof(struct sys_sem));
+  sem = (struct sys_sem *)Malloc(sizeof(struct sys_sem));
   if (sem != NULL) {
     sem->c = count;
 
@@ -567,7 +567,7 @@ sys_sem_free_(struct sys_sem *sem)
   //pthread_mutex_destroy(&(sem->mutex));
   Mutex_Destroy(&(sem->mutex));
   
-  V3_Free(sem);
+  Free(sem);
 }
 
 #if 0
@@ -610,6 +610,8 @@ sys_arch_timeouts(void)
   thread = current_thread();
   return &thread->timeouts;
 }
+
+
 /*-----------------------------------------------------------------------------------*/
 /** sys_prot_t sys_arch_protect(void)
 
@@ -625,6 +627,8 @@ that case the return value indicates that it is already protected.
 sys_arch_protect() is only required if your port is supporting an operating
 system.
 */
+
+#if 0
 sys_prot_t
 sys_arch_protect(void)
 {
@@ -659,11 +663,12 @@ sys_arch_unprotect(sys_prot_t pval)
     {
         if (--lwprot_count == 0)
         {
-            lwprot_thread = (Kernel_Thread) 0xDEAD;
+            lwprot_thread = (struc Kernel_Thread) 0xDEAD;
             Mutex_Unlock(&lwprot_mutex);
         }
     }
 }
+#endif
 
 /*-----------------------------------------------------------------------------------*/
 
@@ -675,6 +680,7 @@ sys_arch_unprotect(sys_prot_t pval)
 #define HZ 100
 #endif
 
+#if 0
 unsigned long
 sys_jiffies(void)
 {
@@ -690,6 +696,7 @@ sys_jiffies(void)
     usec /= 1000000L / HZ;
     return HZ * sec + usec;
 }
+#endif
 
 #if PPP_DEBUG
 
@@ -703,7 +710,7 @@ void ppp_trace(int level, const char *format, ...)
     va_start(args, format);
        
     //vprintf(format, args);
-    SerialPrintList(format, args);
+    PrintDebug(format, args);
        
     va_end(args);
 }