Changeset 992bbb97 in mainline for arch/ia32/include/mm/page.h


Ignore:
Timestamp:
2005-06-29T20:53:18Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ff9f858
Parents:
b60a22c
Message:

Start with generic 4-level page table interface.

Usual cleanup.

File:
1 edited

Legend:

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

    rb60a22c r992bbb97  
    3838#define PA2KA(x)        ((x) + 0x80000000)
    3939
     40/*
     41 * Implementation of generic 4-level page table interface.
     42 * IA-32 has 2-level page tables, so PTL1 and PTL2 are left out.
     43 */
     44#define PTL0_INDEX_ARCH(vaddr)  (((vaddr)>>22)&0x3ff)
     45#define PTL1_INDEX_ARCH(vaddr)  0
     46#define PTL2_INDEX_ARCH(vaddr)  0
     47#define PTL3_INDEX_ARCH(vaddr)  (((vaddr)>>12)&0x3ff)
     48
     49#define GET_PTL1_ADDRESS_ARCH(ptl0, i)          ((pte_t *)((((pte_t *)(ptl0))[(i)].frame_address)<<12))
     50#define GET_PTL2_ADDRESS_ARCH(ptl1, i)          (ptl1)
     51#define GET_PTL3_ADDRESS_ARCH(ptl2, i)          (ptl2)
     52#define GET_FRAME_ADDRESS_ARCH(ptl3, i)         ((__address)((((pte_t *)(ptl3))[(i)].frame_address)<<12))
     53
     54
    4055struct page_specifier {
    4156        unsigned present : 1;
     
    5166} __attribute__ ((packed));
    5267
     68typedef struct page_specifier   pte_t;
     69
    5370extern void page_arch_init(void);
    5471
Note: See TracChangeset for help on using the changeset viewer.