• Rafa Bilski's avatar
    [CPUFREQ] Longhaul - Workaround issues with APIC. · 48b7bde0
    Rafa Bilski authored
    There is no need to worry about local APIC.
    There is need to worry about I/O APIC, because I/O APIC
    is replacing good old 8259. According to Nehemiah datasheet VIA is
    using 3-wire bus to connect local APIC to I/O APIC.
    
    "[...] When IA32_APIC_BASE[11] is set to 0, processor APICs based on the 3-wire APIC
     bus cannot be generally re-enabled until a system hardware reset. The 3-wire bus
     looses track of arbitration that would be necessary for complete re-enabling. Certain
     (local) APIC functionality can be enabled. [...]"
    
    So we must set disable bit for each interrupt in I/O APIC registers.
    Same situation as for PIC - we must poke registers direcly.
    How to do this? I don't know. So at the moment it is better to fail.
    Signed-off-by: default avatarRafa³ Bilski <rafalbilski@interia.pl>
    Signed-off-by: default avatarDave Jones <davej@redhat.com>
    48b7bde0
longhaul.c 18.9 KB