Ignore:
Timestamp:
Jul 13, 2017, 12:54:18 PM (5 years ago)
Author:
max@…
Message:

map the LAPIC and IOAPIC in a separate function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/hal/x86_64/core/hal_apic.c

    r154 r199  
    298298        size_t i;
    299299
    300         ioapic_va = hal_gpt_bootstrap_valloc(1); // XXX: should be shared
    301 
    302         hal_gpt_enter(ioapic_va, ioapic_pa, PG_V|PG_KW|PG_NX|PG_N);
    303 
    304300        ver = hal_ioapic_read(IOAPICVER);
    305301        ioapic_pins = ((ver >> 16) & 0xFF) + 1;
     
    389385static void hal_lapic_init()
    390386{
    391         lapic_va = hal_gpt_bootstrap_valloc(1); // XXX: should be shared
    392 
    393387        if ((rdmsr(MSR_APICBASE) & APICBASE_PHYSADDR) != lapic_pa) {
    394388                x86_panic("APICBASE and ACPI don't match!\n");
    395389        }
    396390        wrmsr(MSR_APICBASE, lapic_pa | APICBASE_EN);
    397 
    398         hal_gpt_enter(lapic_va, lapic_pa, PG_V|PG_KW|PG_NX|PG_N);
    399391
    400392        hal_lapic_write(LAPIC_TPR, 0);
Note: See TracChangeset for help on using the changeset viewer.