Changeset c7ec94a4 in mainline for arch/ia64/include/mm/page.h


Ignore:
Timestamp:
2006-02-06T14:18:28Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f5935ed
Parents:
214f5bb
Message:

Page hash table architectures now use generic hash table to manage
mappings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/include/mm/page.h

    r214f5bb rc7ec94a4  
    4646#define SET_PTL0_ADDRESS_ARCH(x)        /**< To be removed as situation permits. */
    4747
    48 /** Implementation of page hash table interface. */
    49 #define HT_WIDTH_ARCH                                   20      /* 1M */
    50 #define HT_HASH_ARCH(page, asid)                        vhpt_hash((page), (asid))
    51 #define HT_COMPARE_ARCH(page, asid, t)                  vhpt_compare((page), (asid), (t))
    52 #define HT_SLOT_EMPTY_ARCH(t)                           ((t)->present.tag.tag_info.ti)
    53 #define HT_INVALIDATE_SLOT_ARCH(t)                      (t)->present.tag.tag_info.ti = true
    54 #define HT_GET_NEXT_ARCH(t)                             (t)->present.next
    55 #define HT_SET_NEXT_ARCH(t, s)                          (t)->present.next = (s)
    56 #define HT_SET_RECORD_ARCH(t, page, asid, frame, flags) vhpt_set_record(t, page, asid, frame, flags)
    57 
    5848#define PPN_SHIFT                       12
    5949
     
    6454
    6555#define VHPT_WIDTH                      20              /* 1M */
    66 #define VHPT_SIZE                       (1<<VHPT_WIDTH)
    67 #define VHPT_BASE                       page_ht         /* Must be aligned to VHPT_SIZE */
     56#define VHPT_SIZE                       (1 << VHPT_WIDTH)
     57#define VHPT_BASE                       0               /* Must be aligned to VHPT_SIZE */
    6858
    6959#define PTA_BASE_SHIFT                  15
     
    116106       
    117107        /* Word 3 */                                                                                                   
    118         pte_t *next;                    /**< Collision chain next pointer. */
     108        __u64 ig3 : 64;
    119109} __attribute__ ((packed));
    120110
     
    134124       
    135125        /* Word 3 */                                                                                                   
    136         pte_t *next;                    /**< Collision chain next pointer. */
    137        
     126        __u64 ig3 : 64;
    138127} __attribute__ ((packed));
    139128
     
    142131        struct vhpt_entry_not_present not_present;
    143132        __u64 word[4];
    144 } vhpt_entry;
     133} vhpt_entry_t;
    145134
    146135struct region_register_map {
     
    258247
    259248extern void page_arch_init(void);
    260 extern pte_t *vhpt_hash(__address page, asid_t asid);
    261 extern bool vhpt_compare(__address page, asid_t asid, pte_t *t);
    262 extern void vhpt_set_record(pte_t *t, __address page, asid_t asid, __address frame, int flags);
     249
     250extern vhpt_entry_t *vhpt_hash(__address page, asid_t asid);
     251extern bool vhpt_compare(__address page, asid_t asid, vhpt_entry_t *v);
     252extern void vhpt_set_record(vhpt_entry_t *v, __address page, asid_t asid, __address frame, int flags);
    263253
    264254#endif
Note: See TracChangeset for help on using the changeset viewer.