Subversion Repositories HelenOS

Rev

Rev 2131 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2131 Rev 2307
Line 80... Line 80...
80
    if (!io_apic_address)
80
    if (!io_apic_address)
81
        panic("cannot allocate address for io_apic\n");
81
        panic("cannot allocate address for io_apic\n");
82
 
82
 
83
    if (config.cpu_count > 1) {    
83
    if (config.cpu_count > 1) {    
84
        page_mapping_insert(AS_KERNEL, l_apic_address, (uintptr_t) l_apic,
84
        page_mapping_insert(AS_KERNEL, l_apic_address, (uintptr_t) l_apic,
85
                  PAGE_NOT_CACHEABLE);
85
                  PAGE_NOT_CACHEABLE | PAGE_WRITE);
86
        page_mapping_insert(AS_KERNEL, io_apic_address, (uintptr_t) io_apic,
86
        page_mapping_insert(AS_KERNEL, io_apic_address, (uintptr_t) io_apic,
87
                  PAGE_NOT_CACHEABLE);
87
                  PAGE_NOT_CACHEABLE | PAGE_WRITE);
88
                 
88
                 
89
        l_apic = (uint32_t *) l_apic_address;
89
        l_apic = (uint32_t *) l_apic_address;
90
        io_apic = (uint32_t *) io_apic_address;
90
        io_apic = (uint32_t *) io_apic_address;
91
        }
91
    }
92
}
92
}
93
 
93
 
94
/*
94
/*
95
 * Kernel thread for bringing up application processors. It becomes clear
95
 * Kernel thread for bringing up application processors. It becomes clear
96
 * that we need an arrangement like this (AP's being initialized by a kernel
96
 * that we need an arrangement like this (AP's being initialized by a kernel