Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/src/mm/page.c

    r98000fb rd99c1d2  
    3939#include <arch/mm/asid.h>
    4040#include <arch/mm/vhpt.h>
    41 #include <arch/types.h>
     41#include <typedefs.h>
    4242#include <print.h>
    4343#include <mm/page.h>
     
    6363void set_environment(void)
    6464{
    65         region_register rr;
    66         pta_register pta;
     65        region_register_t rr;
     66        pta_register_t pta;
    6767        int i;
    6868#ifdef CONFIG_VHPT
     
    7171
    7272        /*
    73          * First set up kernel region register.
    74          * This is redundant (see start.S) but we keep it here just for sure.
    75          */
    76         rr.word = rr_read(VRN_KERNEL);
    77         rr.map.ve = 0;                  /* disable VHPT walker */
    78         rr.map.ps = PAGE_WIDTH;
    79         rr.map.rid = ASID2RID(ASID_KERNEL, VRN_KERNEL);
    80         rr_write(VRN_KERNEL, rr.word);
    81         srlz_i();
    82         srlz_d();
    83 
    84         /*
    85          * And setup the rest of region register.
     73         * Set up kernel region registers.
     74         * VRN_KERNEL has already been set in start.S.
     75         * For paranoia reasons, we set it again.
    8676         */
    8777        for(i = 0; i < REGION_REGISTERS; i++) {
    88                 /* skip kernel rr */
    89                 if (i == VRN_KERNEL)
    90                         continue;
    91        
    9278                rr.word = rr_read(i);
    9379                rr.map.ve = 0;          /* disable VHPT walker */
    94                 rr.map.rid = RID_KERNEL;
     80                rr.map.rid = ASID2RID(ASID_KERNEL, i);
    9581                rr.map.ps = PAGE_WIDTH;
    9682                rr_write(i, rr.word);
     
    131117vhpt_entry_t *vhpt_hash(uintptr_t page, asid_t asid)
    132118{
    133         region_register rr_save, rr;
     119        region_register_t rr_save, rr;
    134120        size_t vrn;
    135121        rid_t rid;
     
    176162bool vhpt_compare(uintptr_t page, asid_t asid, vhpt_entry_t *v)
    177163{
    178         region_register rr_save, rr;   
     164        region_register_t rr_save, rr;
    179165        size_t vrn;
    180166        rid_t rid;
     
    223209    int flags)
    224210{
    225         region_register rr_save, rr;   
     211        region_register_t rr_save, rr;
    226212        size_t vrn;
    227213        rid_t rid;
     
    257243        v->present.ma = (flags & PAGE_CACHEABLE) ?
    258244            MA_WRITEBACK : MA_UNCACHEABLE;
    259         v->present.a = false;   /* not accessed */
    260         v->present.d = false;   /* not dirty */
     245        v->present.a = false;  /* not accessed */
     246        v->present.d = false;  /* not dirty */
    261247        v->present.pl = (flags & PAGE_USER) ? PL_USER : PL_KERNEL;
    262248        v->present.ar = (flags & PAGE_WRITE) ? AR_WRITE : AR_READ;
    263249        v->present.ar |= (flags & PAGE_EXEC) ? AR_EXECUTE : 0;
    264250        v->present.ppn = frame >> PPN_SHIFT;
    265         v->present.ed = false;  /* exception not deffered */
     251        v->present.ed = false;  /* exception not deffered */
    266252        v->present.ps = PAGE_WIDTH;
    267253        v->present.key = 0;
Note: See TracChangeset for help on using the changeset viewer.