Subversion Repositories HelenOS-historic

Rev

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

Rev 128 Rev 131
Line 35... Line 35...
35
#include <arch/smp/apic.h>
35
#include <arch/smp/apic.h>
36
#include <arch/smp/smp.h>
36
#include <arch/smp/smp.h>
37
#include <func.h>
37
#include <func.h>
38
#include <arch/types.h>
38
#include <arch/types.h>
39
#include <typedefs.h>
39
#include <typedefs.h>
40
#include <mm/page.h>
-
 
41
#include <cpu.h>
40
#include <cpu.h>
42
#include <arch/asm.h>
41
#include <arch/asm.h>
43
#include <arch/bios/bios.h>
42
#include <arch/bios/bios.h>
44
 
43
 
45
/*
44
/*
Line 200... Line 199...
200
        config.cpu_count = configure_via_ct();
199
        config.cpu_count = configure_via_ct();
201
    }
200
    }
202
    else
201
    else
203
        config.cpu_count = configure_via_default(fs->config_type);
202
        config.cpu_count = configure_via_default(fs->config_type);
204
 
203
 
205
    if (config.cpu_count > 1) {
-
 
206
        map_page_to_frame((__address) l_apic, (__address) l_apic, PAGE_NOT_CACHEABLE, 0);
-
 
207
    }      
-
 
208
   
-
 
209
   
-
 
210
    /*
-
 
211
     * Must be initialized outside the kmp thread, since it is waited
-
 
212
     * on before the kmp thread is created.
-
 
213
     */
-
 
214
    waitq_initialize(&kmp_completion_wq);
-
 
215
    return;
204
    return;
216
}
205
}
217
 
206
 
218
int configure_via_ct(void)
207
int configure_via_ct(void)
219
{
208
{
Line 341... Line 330...
341
         * Multiple IO APIC's are currently not supported.
330
         * Multiple IO APIC's are currently not supported.
342
         */
331
         */
343
        return;
332
        return;
344
    }
333
    }
345
   
334
   
346
    map_page_to_frame((__address) ioa->io_apic, (__address) ioa->io_apic, PAGE_NOT_CACHEABLE, 0);
-
 
347
   
-
 
348
    io_apic = ioa->io_apic;
335
    io_apic = ioa->io_apic;
349
}
336
}
350
 
337
 
351
//#define MPSCT_VERBOSE
338
//#define MPSCT_VERBOSE
352
void ct_io_intr_entry(struct __io_intr_entry *iointr)
339
void ct_io_intr_entry(struct __io_intr_entry *iointr)