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.


module reorganization
Jack Lange [Tue, 14 Jun 2011 17:06:47 +0000 (12:06 -0500)]
28 files changed:
linux_module/Makefile
linux_module/iface-console.c [moved from linux_module/palacios-console.c with 99% similarity]
linux_module/iface-file.c [moved from linux_module/palacios-file.c with 100% similarity]
linux_module/iface-graphics-console.c [moved from linux_module/palacios-graphics-console.c with 99% similarity]
linux_module/iface-graphics-console.h [moved from linux_module/palacios-graphics-console.h with 100% similarity]
linux_module/iface-host-dev.c [moved from linux_module/palacios-host-dev.c with 99% similarity]
linux_module/iface-host-dev.h [moved from linux_module/palacios-host-dev-user.h with 100% similarity]
linux_module/iface-keyed-stream.c [moved from linux_module/palacios-keyed-stream.c with 99% similarity]
linux_module/iface-packet.c [moved from linux_module/palacios-packet.c with 99% similarity]
linux_module/iface-socket.c [moved from linux_module/palacios-socket.c with 100% similarity]
linux_module/iface-stream.c [moved from linux_module/palacios-stream.c with 98% similarity]
linux_module/inspector.c [moved from linux_module/palacios-inspector.c with 97% similarity]
linux_module/main.c [moved from linux_module/palacios-dev.c with 99% similarity]
linux_module/mm.c [moved from linux_module/palacios-mm.c with 100% similarity]
linux_module/mm.h [moved from linux_module/palacios-mm.h with 100% similarity]
linux_module/os_stubs.c [moved from linux_module/palacios.c with 99% similarity]
linux_module/palacios-serial.h [deleted file]
linux_module/palacios-vnet.c
linux_module/util-hashtable.c [moved from linux_module/palacios-hashtable.c with 99% similarity]
linux_module/util-hashtable.h [moved from linux_module/palacios-hashtable.h with 100% similarity]
linux_module/util-queue.c [moved from linux_module/palacios-queue.c with 98% similarity]
linux_module/util-queue.h [moved from linux_module/palacios-queue.h with 100% similarity]
linux_module/util-ringbuffer.c [moved from linux_module/palacios-ringbuffer.c with 95% similarity]
linux_module/util-ringbuffer.h [moved from linux_module/palacios-ringbuffer.h with 100% similarity]
linux_module/vm.c [moved from linux_module/palacios-vm.c with 99% similarity]
linux_module/vm.h [moved from linux_module/palacios-vm.h with 100% similarity]
linux_usr/v3_user_host_dev.h
palacios/include/palacios/vmm_instr_decoder.h

index 1a48a04..86d16a4 100644 (file)
@@ -9,24 +9,24 @@ endif
 EXTRA_CFLAGS  += -I$(PWD)/../palacios/include/ -include autoconf.h -DMODULE=1 -D__KERNEL__=1
 
 
-v3vee-y :=     palacios.o \
-               palacios-dev.o \
-               palacios-vm.o \
-               palacios-mm.o \
-               palacios-queue.o \
-               palacios-hashtable.o \
+v3vee-y :=     os_stubs.o \
+               main.o \
+               vm.o \
+               mm.o \
+               util-queue.o \
+               util-hashtable.o \
                linux-exts.o
 
-v3vee-$(V3_CONFIG_CONSOLE) += palacios-console.o
-v3vee-$(V3_CONFIG_FILE) += palacios-file.o
-v3vee-$(V3_CONFIG_STREAM) +=   palacios-stream.o \
-                               palacios-ringbuffer.o
-v3vee-$(V3_CONFIG_EXT_INSPECTOR) += palacios-inspector.o
-v3vee-$(V3_CONFIG_PACKET) += palacios-packet.o
-v3vee-$(V3_CONFIG_SOCKET) += palacios-socket.o
-v3vee-$(V3_CONFIG_KEYED_STREAMS) += palacios-keyed-stream.o
-v3vee-$(V3_CONFIG_HOST_DEVICE) += palacios-host-dev.o
-v3vee-$(V3_CONFIG_GRAPHICS_CONSOLE) += palacios-graphics-console.o
+v3vee-$(V3_CONFIG_CONSOLE) += iface-console.o
+v3vee-$(V3_CONFIG_FILE) += iface-file.o
+v3vee-$(V3_CONFIG_STREAM) +=   iface-stream.o \
+                               util-ringbuffer.o
+v3vee-$(V3_CONFIG_EXT_INSPECTOR) += inspector.o
+v3vee-$(V3_CONFIG_PACKET) += iface-packet.o
+v3vee-$(V3_CONFIG_SOCKET) += iface-socket.o
+v3vee-$(V3_CONFIG_KEYED_STREAMS) += iface-keyed-stream.o
+v3vee-$(V3_CONFIG_HOST_DEVICE) += iface-host-dev.o
+v3vee-$(V3_CONFIG_GRAPHICS_CONSOLE) += iface-graphics-console.o
 
 v3vee-$(V3_CONFIG_VNET) +=     palacios-vnet.o \
                                palacios-vnet-ctrl.o   \
similarity index 99%
rename from linux_module/palacios-console.c
rename to linux_module/iface-console.c
index d0c85ba..02d9761 100644 (file)
@@ -16,9 +16,9 @@
 #include <interfaces/vmm_console.h>
 #include <palacios/vmm_host_events.h>
 
-#include "palacios-vm.h"
+#include "vm.h"
 #include "palacios.h"
-#include "palacios-queue.h"
+#include "util-queue.h"
 #include "linux-exts.h"
 
 typedef enum { CONSOLE_CURS_SET = 1,
similarity index 99%
rename from linux_module/palacios-graphics-console.c
rename to linux_module/iface-graphics-console.c
index e1d9216..227e90e 100644 (file)
 
 #include <interfaces/vmm_console.h>
 #include <palacios/vmm_host_events.h>
-#include "palacios-graphics-console.h"
+#include "iface-graphics-console.h"
 
 
 #include "palacios.h"
 #include "linux-exts.h"
-#include "palacios-vm.h"
+#include "vm.h"
 
 #include <linux/vmalloc.h>
 
similarity index 99%
rename from linux_module/palacios-host-dev.c
rename to linux_module/iface-host-dev.c
index 927b5ad..6744d66 100644 (file)
@@ -17,9 +17,9 @@
 #include <interfaces/vmm_host_dev.h>
 
 #include "palacios.h"
-#include "palacios-host-dev-user.h"
+#include "iface-host-dev.h"
 #include "linux-exts.h"
-#include "palacios-vm.h"
+#include "vm.h"
 
 /*
   There are two things in this file:
similarity index 99%
rename from linux_module/palacios-keyed-stream.c
rename to linux_module/iface-keyed-stream.c
index ef185a5..792066a 100644 (file)
@@ -1,5 +1,5 @@
 #include "palacios.h"
-#include "palacios-hashtable.h"
+#include "util-hashtable.h"
 #include "linux-exts.h"
 
 #define sint64_t int64_t
similarity index 99%
rename from linux_module/palacios-packet.c
rename to linux_module/iface-packet.c
index 667f548..d72306e 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "palacios.h"
 #include "linux-exts.h"
+
 struct palacios_packet_state {
     struct socket * raw_sock;
     uint8_t inited;
similarity index 98%
rename from linux_module/palacios-stream.c
rename to linux_module/iface-stream.c
index 411c119..c487eb4 100644 (file)
@@ -11,8 +11,8 @@
 
 #include <interfaces/vmm_stream.h>
 #include "linux-exts.h"
-#include "palacios-ringbuffer.h"
-#include "palacios-vm.h"
+#include "util-ringbuffer.h"
+#include "vm.h"
 
 #define STREAM_BUF_SIZE 1024
 #define STREAM_NAME_LEN 128
@@ -186,6 +186,8 @@ static int stream_connect(struct v3_guest * guest, unsigned int cmd, unsigned lo
        return -EFAULT;
     }
     
+
+
     printk("ERROR: Opening Streams is currently not implemented...\n");
 
     return -EFAULT;
similarity index 97%
rename from linux_module/palacios-inspector.c
rename to linux_module/inspector.c
index 340821b..b6cfc1a 100644 (file)
 #include <interfaces/inspector.h>
 
 #include "palacios.h"
-#include "palacios-vm.h"
+#include "vm.h"
 #include "linux-exts.h"
 
-struct dentry * v3_dir = NULL;
+static struct dentry * v3_dir = NULL;
 
 
 
similarity index 99%
rename from linux_module/palacios-dev.c
rename to linux_module/main.c
index f640403..621ab58 100644 (file)
@@ -19,8 +19,8 @@
 #include <linux/kthread.h>
 
 #include "palacios.h"
-#include "palacios-mm.h"
-#include "palacios-vm.h"
+#include "mm.h"
+#include "vm.h"
 
 #include "linux-exts.h"
 
similarity index 100%
rename from linux_module/palacios-mm.c
rename to linux_module/mm.c
similarity index 100%
rename from linux_module/palacios-mm.h
rename to linux_module/mm.h
similarity index 99%
rename from linux_module/palacios.c
rename to linux_module/os_stubs.c
index b59f2fb..be06001 100644 (file)
@@ -22,7 +22,7 @@
 
 
 
-#include "palacios-mm.h"
+#include "mm.h"
 
 
 u32 pg_allocs = 0;
diff --git a/linux_module/palacios-serial.h b/linux_module/palacios-serial.h
deleted file mode 100644 (file)
index e9fa8a0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Palacios VM Stream Serial interface
- * (c) Jack Lange, 2010
- */
-
-#ifndef __PALACIOS_SERIAL_H__
-#define __PALACIOS_SERIAL_H__
-
-int open_serial(char * name);
-
-#endif
index 1584ab1..b18ca90 100644 (file)
@@ -14,7 +14,7 @@
 #include <linux/timer.h>
 
 #include <vnet/vnet.h>
-#include "palacios-mm.h"
+#include "mm.h"
 #include "palacios-vnet.h"
 
 static void host_print(const char *    fmt, ...) {
similarity index 99%
rename from linux_module/palacios-hashtable.c
rename to linux_module/util-hashtable.c
index 6c025fc..52fc594 100644 (file)
@@ -8,7 +8,7 @@
 #include <linux/preempt.h>
 #include <linux/sched.h>
  
-#include "palacios-hashtable.h"
+#include "util-hashtable.h"
 
 
 struct hash_entry {
similarity index 98%
rename from linux_module/palacios-queue.c
rename to linux_module/util-queue.c
index 3e0249b..58221a6 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <linux/slab.h>
 
-#include "palacios-queue.h"
+#include "util-queue.h"
 
 void init_queue(struct gen_queue * queue, unsigned int max_entries) {
     queue->num_entries = 0;
similarity index 95%
rename from linux_module/palacios-ringbuffer.c
rename to linux_module/util-ringbuffer.c
index 2ab5b50..53071e8 100644 (file)
@@ -1,29 +1,29 @@
-/* 
+/* \r
  * Ringbuffer Routines for VM\r
- * (c) Lei Xia, 2010
+ * (c) Lei Xia, 2010\r
  */\r
-#include <linux/errno.h>
-#include <linux/percpu.h>
+#include <linux/errno.h>\r
+#include <linux/percpu.h>\r
 #include <linux/sched.h>\r
 \r
 #include "palacios.h"\r
-#include "palacios-ringbuffer.h"\r
-
+#include "util-ringbuffer.h"\r
+\r
 void init_ringbuf(struct ringbuf * ring, unsigned int size) {\r
     ring->buf = kmalloc(size, GFP_KERNEL);\r
-    ring->size = size;
-  
-    ring->start = 0;
-    ring->end = 0;
-    ring->current_len = 0;
-}
+    ring->size = size;\r
+  \r
+    ring->start = 0;\r
+    ring->end = 0;\r
+    ring->current_len = 0;\r
+}\r
 \r
 struct ringbuf * create_ringbuf(unsigned int size) {\r
     struct ringbuf * ring = (struct ringbuf *)kmalloc(sizeof(struct ringbuf), GFP_KERNEL);\r
     init_ringbuf(ring, size);\r
-
-    return ring;
-}
+\r
+    return ring;\r
+}\r
 \r
 void free_ringbuf(struct ringbuf * ring) {\r
     kfree(ring->buf);\r
@@ -32,147 +32,147 @@ void free_ringbuf(struct ringbuf * ring) {
 \r
 static inline unsigned char * get_read_ptr(struct ringbuf * ring) {\r
     return (unsigned char *)(ring->buf + ring->start);\r
-}
-
+}\r
+\r
 \r
 static inline unsigned char * get_write_ptr(struct ringbuf * ring) {\r
     return (unsigned char *)(ring->buf + ring->end);\r
 }\r
 \r
 static inline int get_read_section_size(struct ringbuf * ring) {\r
-    return ring->size - ring->start;
-}
-
+    return ring->size - ring->start;\r
+}\r
+\r
 \r
 static inline int get_write_section_size(struct ringbuf * ring) {\r
-    return ring->size - ring->end;
-}
-
+    return ring->size - ring->end;\r
+}\r
+\r
 \r
 static inline int is_read_loop(struct ringbuf * ring, unsigned int len) {\r
-    if ((ring->start >= ring->end) && (ring->current_len > 0)) {
-       // end is past the end of the buffer
-       if (get_read_section_size(ring) < len) {
-           return 1;
-       }
-    }
-    return 0;
-}
-
+    if ((ring->start >= ring->end) && (ring->current_len > 0)) {\r
+       // end is past the end of the buffer\r
+       if (get_read_section_size(ring) < len) {\r
+           return 1;\r
+       }\r
+    }\r
+    return 0;\r
+}\r
+\r
 \r
 static inline int is_write_loop(struct ringbuf * ring, unsigned int len) {\r
-    if ((ring->end >= ring->start) && (ring->current_len < ring->size)) {
-       // end is past the end of the buffer
-       if (get_write_section_size(ring) < len) {
-           return 1;
-       }
-    }
-    return 0;
-}
-
+    if ((ring->end >= ring->start) && (ring->current_len < ring->size)) {\r
+       // end is past the end of the buffer\r
+       if (get_write_section_size(ring) < len) {\r
+           return 1;\r
+       }\r
+    }\r
+    return 0;\r
+}\r
+\r
 \r
 static inline int ringbuf_avail_space(struct ringbuf * ring) {\r
-    return ring->size - ring->current_len;
-}
-
+    return ring->size - ring->current_len;\r
+}\r
+\r
 \r
 int ringbuf_data_len(struct ringbuf * ring) {\r
-    return ring->current_len;
-}
-
+    return ring->current_len;\r
+}\r
+\r
 \r
 static inline int ringbuf_capacity(struct ringbuf * ring) {\r
-    return ring->size;
-}
-
+    return ring->size;\r
+}\r
+\r
 \r
 int ringbuf_read(struct ringbuf * ring, unsigned char * dst, unsigned int len) {\r
-    int read_len = 0;
-    int ring_data_len = ring->current_len;
-
-    read_len = (len > ring_data_len) ? ring_data_len : len;
-
-    if (is_read_loop(ring, read_len)) {
-       int section_len = get_read_section_size(ring);
-
-       memcpy(dst, get_read_ptr(ring), section_len);
-       memcpy(dst + section_len, ring->buf, read_len - section_len);
-    
-       ring->start = read_len - section_len;
-    } else {
-       memcpy(dst, get_read_ptr(ring), read_len);
-    
-       ring->start += read_len;
-    }
-
-    ring->current_len -= read_len;
-
-    return read_len;
-}
-
+    int read_len = 0;\r
+    int ring_data_len = ring->current_len;\r
+\r
+    read_len = (len > ring_data_len) ? ring_data_len : len;\r
+\r
+    if (is_read_loop(ring, read_len)) {\r
+       int section_len = get_read_section_size(ring);\r
+\r
+       memcpy(dst, get_read_ptr(ring), section_len);\r
+       memcpy(dst + section_len, ring->buf, read_len - section_len);\r
+    \r
+       ring->start = read_len - section_len;\r
+    } else {\r
+       memcpy(dst, get_read_ptr(ring), read_len);\r
+    \r
+       ring->start += read_len;\r
+    }\r
+\r
+    ring->current_len -= read_len;\r
+\r
+    return read_len;\r
+}\r
+\r
 \r
 #if 0\r
 \r
 static int ringbuf_peek(struct ringbuf * ring, unsigned char * dst, unsigned int len) {\r
-    int read_len = 0;
-    int ring_data_len = ring->current_len;
-
-    read_len = (len > ring_data_len) ? ring_data_len : len;
-
-    if (is_read_loop(ring, read_len)) {
-       int section_len = get_read_section_size(ring);
-
-       memcpy(dst, get_read_ptr(ring), section_len);
-       memcpy(dst + section_len, ring->buf, read_len - section_len);
-    } else {
-       memcpy(dst, get_read_ptr(ring), read_len);
-    }
-
-    return read_len;
-}
-
+    int read_len = 0;\r
+    int ring_data_len = ring->current_len;\r
+\r
+    read_len = (len > ring_data_len) ? ring_data_len : len;\r
+\r
+    if (is_read_loop(ring, read_len)) {\r
+       int section_len = get_read_section_size(ring);\r
+\r
+       memcpy(dst, get_read_ptr(ring), section_len);\r
+       memcpy(dst + section_len, ring->buf, read_len - section_len);\r
+    } else {\r
+       memcpy(dst, get_read_ptr(ring), read_len);\r
+    }\r
+\r
+    return read_len;\r
+}\r
+\r
 \r
 static int ringbuf_delete(struct ringbuf * ring, unsigned int len) {\r
-    int del_len = 0;
-    int ring_data_len = ring->current_len;
-
-    del_len = (len > ring_data_len) ? ring_data_len : len;
-
-    if (is_read_loop(ring, del_len)) {
-       int section_len = get_read_section_size(ring);
-       ring->start = del_len - section_len;
-    } else {
-       ring->start += del_len;
-    }
-
-    ring->current_len -= del_len;
-    return del_len;
-}
+    int del_len = 0;\r
+    int ring_data_len = ring->current_len;\r
+\r
+    del_len = (len > ring_data_len) ? ring_data_len : len;\r
+\r
+    if (is_read_loop(ring, del_len)) {\r
+       int section_len = get_read_section_size(ring);\r
+       ring->start = del_len - section_len;\r
+    } else {\r
+       ring->start += del_len;\r
+    }\r
+\r
+    ring->current_len -= del_len;\r
+    return del_len;\r
+}\r
 #endif\r
 \r
 int ringbuf_write(struct ringbuf * ring, unsigned char * src, unsigned int len) {\r
-    int write_len = 0;
-    int ring_avail_space = ring->size - ring->current_len;
-  
+    int write_len = 0;\r
+    int ring_avail_space = ring->size - ring->current_len;\r
+  \r
     write_len = (len > ring_avail_space) ? ring_avail_space : len;\r
-
-    if (is_write_loop(ring, write_len)) {
-       int section_len = get_write_section_size(ring);
+\r
+    if (is_write_loop(ring, write_len)) {\r
+       int section_len = get_write_section_size(ring);\r
     \r
-       memcpy(get_write_ptr(ring), src, section_len);
-       ring->end = 0;
-
-       memcpy(get_write_ptr(ring), src + section_len, write_len - section_len);
-
-       ring->end += write_len - section_len;
+       memcpy(get_write_ptr(ring), src, section_len);\r
+       ring->end = 0;\r
+\r
+       memcpy(get_write_ptr(ring), src + section_len, write_len - section_len);\r
+\r
+       ring->end += write_len - section_len;\r
     } else {\r
-       memcpy(get_write_ptr(ring), src, write_len);
-
-       ring->end += write_len;
-    }
-
-    ring->current_len += write_len;
-
-    return write_len;
-}
+       memcpy(get_write_ptr(ring), src, write_len);\r
+\r
+       ring->end += write_len;\r
+    }\r
+\r
+    ring->current_len += write_len;\r
+\r
+    return write_len;\r
+}\r
 \r
similarity index 99%
rename from linux_module/palacios-vm.c
rename to linux_module/vm.c
index e98be0c..852733c 100644 (file)
@@ -20,7 +20,7 @@
 #include <palacios/vmm.h>
 
 #include "palacios.h"
-#include "palacios-vm.h"
+#include "vm.h"
 #include "linux-exts.h"
 
 
similarity index 100%
rename from linux_module/palacios-vm.h
rename to linux_module/vm.h
index 523150f..b761773 100644 (file)
@@ -2,7 +2,7 @@
 #define _V3_USER_HOST_DEV_
 
 #include <stdint.h>
-#include "palacios-host-dev-user.h"
+#include "iface-host-dev.h"
 
 int v3_user_host_dev_rendezvous(char *vmdev, char *url); // returns devfd for use in poll/select
 int v3_user_host_dev_depart(int devfd);
index ebab425..1cce578 100644 (file)
@@ -482,9 +482,7 @@ static inline int decode_cr(struct guest_info * core,
  */
 #define MASK_DISPLACEMENT(reg, mode) ({                                        \
            sint64_t val = 0;                                           \
-           if (mode == DISP0) {                                        \
-               val = reg;                                              \
-           } else if (mode == DISP8) {                                 \
+           if (mode == DISP8) {                                        \
                val = (sint8_t)(reg & 0xff);                            \
            } else if (mode == DISP16) {                                \
                val = (sint16_t)(reg & 0xffff);                         \
@@ -501,9 +499,6 @@ static inline int decode_cr(struct guest_info * core,
 #define ADDR_MASK(val, length) ({                            \
             ullong_t mask = 0x0LL;                           \
             switch (length) {                                \
-               case 1:                                       \
-                   mask = 0x0000000000000ffLL;               \
-                   break;                                    \
                 case 2:                                              \
                     mask = 0x00000000000fffffLL;             \
                     break;                                   \