Subversion Repositories HelenOS-historic

Rev

Rev 869 | Rev 901 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 869 Rev 879
Line 54... Line 54...
54
 
54
 
55
/** Initialize VHPT and region registers. */
55
/** Initialize VHPT and region registers. */
56
void set_environment(void)
56
void set_environment(void)
57
{
57
{
58
 
58
 
59
//#ifdef NEVERDEFINED   
-
 
60
    region_register rr;
59
    region_register rr;
61
    pta_register pta;  
60
    pta_register pta;  
62
    int i;
61
    int i;
63
 
62
 
64
    /*
63
    /*
65
     * First set up kernel region register.
64
     * First set up kernel region register.
-
 
65
     * This action is redundand (see start.S) but I would to keep it to make sure that
-
 
66
     *no unexpected changes will be made.
66
     */
67
     */
67
    rr.word = rr_read(VRN_KERNEL);
68
    rr.word = rr_read(VRN_KERNEL);
68
    rr.map.ve = 0;                  /* disable VHPT walker */
69
    rr.map.ve = 0;                  /* disable VHPT walker */
69
    rr.map.ps = PAGE_WIDTH;
70
    rr.map.ps = PAGE_WIDTH;
70
    rr.map.rid = ASID_KERNEL;
71
    rr.map.rid = ASID2RID(ASID_KERNEL,VRN_KERNEL);  
71
    rr_write(VRN_KERNEL, rr.word);
72
    rr_write(VRN_KERNEL, rr.word);
72
    srlz_i();
73
    srlz_i();
73
    srlz_d();
74
    srlz_d();
74
   
75
   
75
    /*
76
    /*
Line 80... Line 81...
80
        if (i == VRN_KERNEL)
81
        if (i == VRN_KERNEL)
81
            continue;
82
            continue;
82
   
83
   
83
        rr.word == rr_read(i);
84
        rr.word == rr_read(i);
84
        rr.map.ve = 0;      /* disable VHPT walker */
85
        rr.map.ve = 0;      /* disable VHPT walker */
85
        rr.map.rid = ASID_INVALID;
86
        rr.map.rid = ASID2RID(ASID_INVALID,i);
86
        rr_write(i, rr.word);
87
        rr_write(i, rr.word);
87
        srlz_i();
88
        srlz_i();
88
        srlz_d();
89
        srlz_d();
89
    }
90
    }
90
 
91
 
Line 98... Line 99...
98
    pta.map.base = VHPT_BASE >> PTA_BASE_SHIFT;
99
    pta.map.base = VHPT_BASE >> PTA_BASE_SHIFT;
99
    pta_write(pta.word);
100
    pta_write(pta.word);
100
    srlz_i();
101
    srlz_i();
101
    srlz_d();
102
    srlz_d();
102
   
103
   
103
//#endif
-
 
104
 
104
 
105
    return ;   
105
    return ;   
106
   
106
   
107
}
107
}
108
 
108