filename | test/sh4/utlb.h |
changeset | 1022:43f35b12ece7 |
prev | 976:e57a25d9eb7d |
author | nkeynes |
date | Thu Dec 23 17:50:10 2010 +1000 (13 years ago) |
permissions | -rw-r--r-- |
last change | Clone iso_memory_stream_new() as iso_mem_stream_new(), since current versions of libisofs have made it unlinkable on linux |
file | annotate | diff | log | raw |
nkeynes@976 | 1 | /** |
nkeynes@1022 | 2 | * $Id$ |
nkeynes@976 | 3 | * |
nkeynes@976 | 4 | * UTLB unit test support |
nkeynes@976 | 5 | * |
nkeynes@976 | 6 | * Copyright (c) 2006 Nathan Keynes. |
nkeynes@976 | 7 | * |
nkeynes@976 | 8 | * This program is free software; you can redistribute it and/or modify |
nkeynes@976 | 9 | * it under the terms of the GNU General Public License as published by |
nkeynes@976 | 10 | * the Free Software Foundation; either version 2 of the License, or |
nkeynes@976 | 11 | * (at your option) any later version. |
nkeynes@976 | 12 | * |
nkeynes@976 | 13 | * This program is distributed in the hope that it will be useful, |
nkeynes@976 | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
nkeynes@976 | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nkeynes@976 | 16 | * GNU General Public License for more details. |
nkeynes@976 | 17 | */ |
nkeynes@976 | 18 | |
nkeynes@976 | 19 | #include <../lib.h> |
nkeynes@976 | 20 | |
nkeynes@976 | 21 | #ifndef TEST_UTLB |
nkeynes@976 | 22 | #define TEST_UTLB 1 |
nkeynes@976 | 23 | |
nkeynes@976 | 24 | #define TLB_VALID 0x00000100 |
nkeynes@976 | 25 | #define TLB_USERMODE 0x00000040 |
nkeynes@976 | 26 | #define TLB_WRITABLE 0x00000020 |
nkeynes@976 | 27 | #define TLB_USERWRITABLE (TLB_WRITABLE|TLB_USERMODE) |
nkeynes@976 | 28 | #define TLB_SIZE_MASK 0x00000090 |
nkeynes@976 | 29 | #define TLB_SIZE_1K 0x00000000 |
nkeynes@976 | 30 | #define TLB_SIZE_4K 0x00000010 |
nkeynes@976 | 31 | #define TLB_SIZE_64K 0x00000080 |
nkeynes@976 | 32 | #define TLB_SIZE_1M 0x00000090 |
nkeynes@976 | 33 | #define TLB_CACHEABLE 0x00000008 |
nkeynes@976 | 34 | #define TLB_DIRTY 0x00000004 |
nkeynes@976 | 35 | #define TLB_SHARE 0x00000002 |
nkeynes@976 | 36 | #define TLB_WRITETHRU 0x00000001 |
nkeynes@976 | 37 | |
nkeynes@976 | 38 | void set_tlb_enabled( int flag ); |
nkeynes@976 | 39 | void invalidate_tlb(); |
nkeynes@976 | 40 | void set_sv_enabled( int flag ); |
nkeynes@976 | 41 | void set_storequeue_protected( int flag ); |
nkeynes@976 | 42 | void set_asid( int asid ); |
nkeynes@976 | 43 | void load_utlb_entry( int entryNo, uint32_t vpn, uint32_t ppn, int asid, uint32_t mode ); |
nkeynes@976 | 44 | |
nkeynes@976 | 45 | #define ACCESS_OK 0 |
nkeynes@976 | 46 | #define ACCESS_READONLY 1 |
nkeynes@976 | 47 | #define ACCESS_PRIVONLY 2 |
nkeynes@976 | 48 | #define ACCESS_USERMISS 4 |
nkeynes@976 | 49 | void check_utlb_access( uint32_t addr, uint32_t direct_addr, int mode ); |
nkeynes@976 | 50 | |
nkeynes@976 | 51 | #endif /* !TEST_UTLB */ |
.