Things now compile and link.
[akaros.git] / kern / arch / x86 / vm.h
index b07c5ad..adfccb3 100644 (file)
@@ -79,7 +79,7 @@ typedef uint64_t            hpa_t;
 typedef unsigned long  hfn_t;
 
 struct litevm_mmu_page {
-       LIST_HEAD(link, litevm_mmu_page) link;
+       LIST_ENTRY(litevm_mmu_page) link;
        hpa_t page_hpa;
        unsigned long slot_bitmap; /* One bit set per slot which has memory
                                    * in this shadow page.
@@ -149,7 +149,7 @@ enum {
 struct litevm_vcpu {
        struct litevm *litevm;
        struct vmcs *vmcs;
-       qlock_t mutex; //struct mutex mutex;
+       qlock_t mutex;
        int   cpu;
        int   launched;
        unsigned long irq_summary; /* bit vector: 1 per word in irq_pending */
@@ -166,7 +166,7 @@ struct litevm_vcpu {
        int nmsrs;
        struct vmx_msr_entry *guest_msrs;
        struct vmx_msr_entry *host_msrs;
-       LIST_HEAD(free_pages, free_pages) free_pages;
+       LIST_HEAD(free_pages, litevm_mmu_page) link;
        //struct list_head free_pages;
        struct litevm_mmu_page page_header_buf[LITEVM_NUM_MMU_PAGES];
        struct litevm_mmu mmu;
@@ -200,14 +200,15 @@ struct litevm_memory_slot {
        unsigned long npages;
        unsigned long flags;
        struct page **phys_mem;
-       unsigned long *dirty_bitmap;
+//#warning "bitmap is u8. "
+       /*unsigned long*/uint8_t *dirty_bitmap;
 };
 
 struct litevm {
        spinlock_t lock; /* protects everything except vcpus */
        int nmemslots;
        struct litevm_memory_slot memslots[LITEVM_MEMORY_SLOTS];
-       LIST_HEAD(active_mmu_pages, active_mmu_pages) active_mmu_pages;
+       LIST_HEAD(active_mmu_pages, litevm_mmu_page) link;
        //struct list_head active_mmu_pages;
        struct litevm_vcpu vcpus[LITEVM_MAX_VCPUS];
        int memory_config_version;
@@ -507,8 +508,8 @@ struct litevm_sregs {
        uint64_t apic_base;
 
        /* out (LITEVM_GET_SREGS) */
-       uint32_t pending_int;
-       uint32_t padding2;
+       /*uint32_t */ uint8_t *pending_int;
+       /*uint32_t */ uint8_t padding2;
 };
 
 /* for LITEVM_TRANSLATE */