Subversion Repositories HelenOS

Rev

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

Rev 3578 Rev 3583
Line 151... Line 151...
151
#endif  
151
#endif  
152
    int HOSSize = Size;  
152
    int HOSSize = Size;  
153
 
153
 
154
 
154
 
155
    rArg rSAL;
155
    rArg rSAL;
156
    //Setup AP's wake up address
156
    rArg rPAL;
157
 
157
 
-
 
158
    //Setup AP's wake up address
158
    LibSalProc(0x01000000,2,0x4400200,0,0,0,0,0,&rSAL);
159
    LibSalProc(0x01000000,2,0x4400200,0,0,0,0,0,&rSAL);
159
 
160
 
160
 
161
 
-
 
162
    //Get System Frequency
-
 
163
    UINT64 sys_freq;
-
 
164
    LibSalProc(0x01000012,0,0,0,0,0,0,0,&rSAL);
-
 
165
    sys_freq=rSAL.p1;
-
 
166
   
-
 
167
 
-
 
168
    UINT64 freq_scale;
-
 
169
    //Get CPU Frequency to System Frequency ratio
-
 
170
    LibPalProc(14,0,0,0,&rPAL);
-
 
171
    freq_scale=rPAL.p1;
-
 
172
 
-
 
173
 
161
        UINT64 sapic;
174
        UINT64 sapic;
162
        LibGetSalIpiBlock(&sapic);
175
        LibGetSalIpiBlock(&sapic);
163
        Print (L"SAPIC:%X\n", sapic);
176
        Print (L"SAPIC:%X\n", sapic);
164
    bootinfo->sapic=sapic;
177
    //bootinfo->sapic=sapic;
165
 
178
 
166
 
179
 
167
        int wakeup_intno;
180
        int wakeup_intno;
168
        wakeup_intno=0xf0;
181
        wakeup_intno=0xf0;
169
        Print (L"WAKEUP INTNO:%X\n", wakeup_intno);
182
        Print (L"WAKEUP INTNO:%X\n", wakeup_intno);
170
    bootinfo->wakeup_intno=wakeup_intno;
183
    //bootinfo->wakeup_intno=wakeup_intno;
171
 
184
 
172
 
185
 
173
 
186
 
174
 
187
 
175
 
188
 
Line 210... Line 223...
210
    for(a=0;a<HOSSize;a++){
223
    for(a=0;a<HOSSize;a++){
211
        ((char *)(0x4400000))[a]=HOS[a];
224
        ((char *)(0x4400000))[a]=HOS[a];
212
    }
225
    }
213
    bootinfo->sapic=(unsigned long *)sapic;
226
    bootinfo->sapic=(unsigned long *)sapic;
214
    bootinfo->wakeup_intno=wakeup_intno;
227
    bootinfo->wakeup_intno=wakeup_intno;
-
 
228
    bootinfo->sys_freq=sys_freq;
-
 
229
    bootinfo->freq_scale=freq_scale;
215
   
230
   
216
    //Run Kernel
231
    //Run Kernel
217
    asm volatile(  
232
    asm volatile(  
218
        "nop.i 0x00 ;;\n"
233
        "nop.i 0x00 ;;\n"
219
        "movl r15 = 0x4400000 ;;\n"
234
        "movl r15 = 0x4400000 ;;\n"