]> git.proxmox.com Git - mirror_qemu.git/blobdiff - target-cris/mmu.c
pc: add compat_props placeholder for 2.0 machine type
[mirror_qemu.git] / target-cris / mmu.c
index d481e39352d282be7d03cc64b5f9f4418d069806..1c95a415f2cab9a2402f7463031f7f0f55c2f5f3 100644 (file)
 
 #ifndef CONFIG_USER_ONLY
 
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "config.h"
 #include "cpu.h"
 #include "mmu.h"
 
@@ -36,7 +31,7 @@
 #define D_LOG(...) do { } while (0)
 #endif
 
-void cris_mmu_init(CPUState *env)
+void cris_mmu_init(CPUCRISState *env)
 {
        env->mmu_rand_lfsr = 0xcccc;
 }
@@ -54,7 +49,7 @@ static inline unsigned int compute_polynom(unsigned int sr)
        return f;
 }
 
-static void cris_mmu_update_rand_lfsr(CPUState *env)
+static void cris_mmu_update_rand_lfsr(CPUCRISState *env)
 {
        unsigned int f;
 
@@ -75,7 +70,7 @@ static inline int cris_mmu_segmented_addr(int seg, uint32_t rw_mm_cfg)
        return (1 << seg) & rw_mm_cfg;
 }
 
-static uint32_t cris_mmu_translate_seg(CPUState *env, int seg)
+static uint32_t cris_mmu_translate_seg(CPUCRISState *env, int seg)
 {
        uint32_t base;
        int i;
@@ -111,7 +106,7 @@ static inline void set_field(uint32_t *dst, unsigned int val,
 }
 
 #ifdef DEBUG
-static void dump_tlb(CPUState *env, int mmu)
+static void dump_tlb(CPUCRISState *env, int mmu)
 {
        int set;
        int idx;
@@ -133,7 +128,7 @@ static void dump_tlb(CPUState *env, int mmu)
 
 /* rw 0 = read, 1 = write, 2 = exec.  */
 static int cris_mmu_translate_page(struct cris_mmu_result *res,
-                                  CPUState *env, uint32_t vaddr,
+                                  CPUCRISState *env, uint32_t vaddr,
                                   int rw, int usermode, int debug)
 {
        unsigned int vpage;
@@ -293,8 +288,9 @@ static int cris_mmu_translate_page(struct cris_mmu_result *res,
        return !match;
 }
 
-void cris_mmu_flush_pid(CPUState *env, uint32_t pid)
+void cris_mmu_flush_pid(CPUCRISState *env, uint32_t pid)
 {
+    CRISCPU *cpu = cris_env_get_cpu(env);
        target_ulong vaddr;
        unsigned int idx;
        uint32_t lo, hi;
@@ -320,7 +316,7 @@ void cris_mmu_flush_pid(CPUState *env, uint32_t pid)
                                        vaddr = tlb_vpn << TARGET_PAGE_BITS;
                                        D_LOG("flush pid=%x vaddr=%x\n", 
                                                  pid, vaddr);
-                                       tlb_flush_page(env, vaddr);
+                    tlb_flush_page(CPU(cpu), vaddr);
                                }
                        }
                }
@@ -328,7 +324,7 @@ void cris_mmu_flush_pid(CPUState *env, uint32_t pid)
 }
 
 int cris_mmu_translate(struct cris_mmu_result *res,
-                      CPUState *env, uint32_t vaddr,
+                      CPUCRISState *env, uint32_t vaddr,
                       int rw, int mmu_idx, int debug)
 {
        int seg;