summaryrefslogtreecommitdiff
path: root/target-moxie/mmu.h
blob: abc79297cdafddd11a4546dd6c8b6f288949fe1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#define MOXIE_MMU_ERR_EXEC  0
#define MOXIE_MMU_ERR_READ  1
#define MOXIE_MMU_ERR_WRITE 2
#define MOXIE_MMU_ERR_FLUSH 3

typedef struct {
    uint32_t phy;
    uint32_t pfn;
    unsigned g:1;
    unsigned v:1;
    unsigned k:1;
    unsigned w:1;
    unsigned e:1;
    int cause_op;
} MoxieMMUResult;

int moxie_mmu_translate(MoxieMMUResult *res,
                        CPUMoxieState *env, uint32_t vaddr,
                        int rw, int mmu_idx);