Changeset f47fd19 in mainline for kernel/arch/sparc64/include/mm


Ignore:
Timestamp:
2006-08-21T13:36:34Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a7961271
Parents:
ee289cf0
Message:

sparc64 work.
Define the istate structure.
Move the identity-mapping handler to assembly.
Make the preemptible handler more general so that TL=1 MMU exceptions can make use of it.

Little bit of formatting and indentation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/mm/tlb.h

    ree289cf0 rf47fd19  
    6767/* TLB Tag Access shifts */
    6868#define TLB_TAG_ACCESS_CONTEXT_SHIFT    0
     69#define TLB_TAG_ACCESS_CONTEXT_MASK     ((1<<13)-1)
    6970#define TLB_TAG_ACCESS_VPN_SHIFT        13
    7071
     
    108109        struct {
    109110                uint64_t vpn : 51;              /**< Virtual Address bits 63:13. */
    110                 unsigned context : 13;  /**< Context identifier. */
     111                unsigned context : 13;          /**< Context identifier. */
    111112        } __attribute__ ((packed));
    112113};
     
    119120        uint64_t value;
    120121        struct {
    121                 uint64_t vpn: 51;               /**< Virtual Address bits 63:13. */
     122                uint64_t vpn: 51;       /**< Virtual Address bits 63:13. */
    122123                unsigned : 6;           /**< Ignored. */
    123124                unsigned type : 1;      /**< The type of demap operation. */
     
    132133        uint64_t value;
    133134        struct {
    134                 unsigned long : 39;     /**< Implementation dependent. */
    135                 unsigned nf : 1;        /**< Nonfaulting load. */
     135                unsigned long : 40;     /**< Implementation dependent. */
    136136                unsigned asi : 8;       /**< ASI. */
    137                 unsigned tm : 1;        /**< TLB miss. */
    138                 unsigned : 1;
     137                unsigned : 2;
    139138                unsigned ft : 7;        /**< Fault type. */
    140139                unsigned e : 1;         /**< Side-effect bit. */
     
    426425}
    427426
    428 extern void fast_instruction_access_mmu_miss(void);
    429 extern void fast_data_access_mmu_miss(void);
    430 extern void fast_data_access_protection(void);
     427extern void fast_instruction_access_mmu_miss(int n, istate_t *istate);
     428extern void fast_data_access_mmu_miss(int n, istate_t *istate);
     429extern void fast_data_access_protection(int n, istate_t *istate);
    431430
    432431extern void dtlb_insert_mapping(uintptr_t page, uintptr_t frame, int pagesize, bool locked, bool cacheable);
Note: See TracChangeset for help on using the changeset viewer.