Ignore:
File:
1 edited

Legend:

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

    rd99c1d2 r925be4e  
    2727 */
    2828
    29 /** @addtogroup ia64mm
     29/** @addtogroup ia64mm 
    3030 * @{
    3131 */
     
    3939#include <arch/mm/asid.h>
    4040#include <arch/interrupt.h>
    41 #include <typedefs.h>
     41#include <arch/types.h>
    4242
    4343/** Data and instruction Translation Register indices. */
    44 #define DTR_KERNEL   0
    45 #define ITR_KERNEL   0
    46 #define DTR_KSTACK1  4
    47 #define DTR_KSTACK2  5
     44#define DTR_KERNEL      0
     45#define ITR_KERNEL      0
     46#define DTR_KSTACK1     4
     47#define DTR_KSTACK2     5
    4848
    4949/** Portion of TLB insertion format data structure. */
    50 typedef union {
     50union tlb_entry {
    5151        uint64_t word[2];
    5252        struct {
    5353                /* Word 0 */
    54                 unsigned int p : 1;           /**< Present. */
    55                 unsigned int : 1;
    56                 unsigned int ma : 3;          /**< Memory attribute. */
    57                 unsigned int a : 1;           /**< Accessed. */
    58                 unsigned int d : 1;           /**< Dirty. */
    59                 unsigned int pl : 2;          /**< Privilege level. */
    60                 unsigned int ar : 3;          /**< Access rights. */
    61                 unsigned long long ppn : 38;  /**< Physical Page Number, a.k.a. PFN. */
    62                 unsigned int : 2;
    63                 unsigned int ed : 1;
    64                 unsigned int ig1 : 11;
    65                
     54                unsigned p : 1;                 /**< Present. */
     55                unsigned : 1;
     56                unsigned ma : 3;                /**< Memory attribute. */
     57                unsigned a : 1;                 /**< Accessed. */
     58                unsigned d : 1;                 /**< Dirty. */
     59                unsigned pl : 2;                /**< Privilege level. */
     60                unsigned ar : 3;                /**< Access rights. */
     61                unsigned long long ppn : 38;    /**< Physical Page Number, a.k.a. PFN. */
     62                unsigned : 2;
     63                unsigned ed : 1;
     64                unsigned ig1 : 11;
     65
    6666                /* Word 1 */
    67                 unsigned int : 2;
    68                 unsigned int ps : 6;    /**< Page size will be 2^ps. */
    69                 unsigned int key : 24;  /**< Protection key, unused. */
    70                 unsigned int : 32;
     67                unsigned : 2;
     68                unsigned ps : 6;                /**< Page size will be 2^ps. */
     69                unsigned key : 24;              /**< Protection key, unused. */
     70                unsigned : 32;
    7171        } __attribute__ ((packed));
    72 } __attribute__ ((packed)) tlb_entry_t;
     72} __attribute__ ((packed));
     73typedef union tlb_entry tlb_entry_t;
    7374
    7475extern void tc_mapping_insert(uintptr_t va, asid_t asid, tlb_entry_t entry, bool dtc);
Note: See TracChangeset for help on using the changeset viewer.