Changeset ce031f0 in mainline for arch/mips32/include


Ignore:
Timestamp:
2005-10-04T11:23:21Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8e3f47b3
Parents:
1e2aecca
Message:

MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.

Other architectures: add dummy tlb_init_arch().

Location:
arch/mips32/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • arch/mips32/include/cp0.h

    r1e2aecca rce031f0  
    5353#define cp0_compare_value               10000
    5454
    55 static inline void tlbp(void)
    56 {
    57         __asm__ volatile ("tlbp");
    58 }
    59 
    60 static inline void tlbr(void)
    61 {
    62         __asm__ volatile ("tlbr");
    63 }
    64 static inline void tlbwi(void)
    65 {
    66         __asm__ volatile ("tlbwi");
    67 }
    68 static inline void tlbwr(void)
    69 {
    70         __asm__ volatile ("tlbwr");
    71 }
    72 
    7355#define cp0_mask_all_int() cp0_status_write(cp0_status_read() & ~(cp0_status_im_mask))
    7456#define cp0_unmask_all_int() cp0_status_write(cp0_status_read() | cp0_status_im_mask)
     
    7658#define cp0_unmask_int(it) cp0_status_write(cp0_status_read() | (1<<(cp0_status_im_shift+(it))))
    7759
    78 
    7960extern  __u32 cp0_index_read(void);
    80 extern void cp0_idnex_write(__u32 val);
     61extern void cp0_index_write(__u32 val);
    8162
    8263extern __u32 cp0_random_read(void);
  • arch/mips32/include/mm/tlb.h

    r1e2aecca rce031f0  
    3131
    3232#include <arch/exception.h>
     33
     34#define TLB_SIZE        48
     35
     36#define TLB_WIRED               1
     37#define TLB_KSTACK_WIRED_INDEX  0
     38
     39#define TLB_PAGE_MASK_16K       (0x3<<13)
    3340
    3441#define PAGE_UNCACHED                   2
     
    6673typedef struct entry_lo pte_t;
    6774
     75/** Read Indexed TLB Entry
     76 *
     77 * Read Indexed TLB Entry.
     78 */
     79static inline void tlbr(void)
     80{
     81        __asm__ volatile ("tlbr\n\t");
     82}
     83
     84/** Write Indexed TLB Entry
     85 *
     86 * Write Indexed TLB Entry.
     87 */
     88static inline void tlbwi(void)
     89{
     90        __asm__ volatile ("tlbwi\n\t");
     91}
     92
     93/** Write Random TLB Entry
     94 *
     95 * Write Random TLB Entry.
     96 */
     97static inline void tlbwr(void)
     98{
     99        __asm__ volatile ("tlbwr\n\t");
     100}
     101
    68102extern void tlb_invalid(struct exception_regdump *pstate);
    69103extern void tlb_refill(struct exception_regdump *pstate);
     104extern void tlb_modified(struct exception_regdump *pstate);
    70105
    71106#endif
Note: See TracChangeset for help on using the changeset viewer.