Subversion Repositories HelenOS

Rev

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

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