• Eric W. Biederman's avatar
    [PATCH] x86_64: Memorize location of i8259 for reboots. · 1008fddc
    Eric W. Biederman authored
    Currently we attempt to restore virtual wire mode on reboot, which only
    works if we can figure out where the i8259 is connected.  This is very
    useful when we are kexec another kernel and likely helpful to an peculiar
    BIOS that make assumptions about how the system is setup.
    
    Since the acpi MADT table does not provide the location where the i8259 is
    connected we have to look at the hardware to figure it out.
    
    Most systems have the i8259 connected the local apic of the cpu so won't be
    affected but people running Opteron and some serverworks chipsets should be
    able to use kexec now.
    
    In addition this patch removes the hard coded assumption that the io_apic
    that delivers isa interrups is always known to the kernel as io_apic 0.
    There does not appear to be anything to guarantee that assumption is true.
    
    And From: Vivek Goyal <vgoyal@in.ibm.com>
    
      A minor fix to the patch which remembers the location of where i8259 is
      connected.  Now counter i has been replaced by apic.  counter i is having
      some junk value which was leading to non-detection of i8259 connected to
      IOAPIC.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    1008fddc
io_apic.c 52.9 KB