From 7b1e23376968cd1ab3bcae3939524e3dd84b89dc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roger=20Pau=20Monn=C3=A9?= Date: Fri, 25 Oct 2019 15:59:34 +0200 Subject: [PATCH] x2APIC: simplify resume MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit There's no need to save and restore the IO-APIC entries, the entries prior to suspension have already been saved by ioapic_suspend, and will be restored by ioapic_resume. Note that at the point where resume_x2apic gets called the IO-APIC has not yet resumed, and hence all entries should be masked. Note this shouldn't introduce any functional change. Suggested-by: Jan Beulich Signed-off-by: Roger Pau Monné Tested-by: Marek Marczykowski-Górecki Reviewed-by: Jan Beulich Release-acked-by: Juergen Gross --- xen/arch/x86/apic.c | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c index 6cdb50cf41..0607eb92a8 100644 --- a/xen/arch/x86/apic.c +++ b/xen/arch/x86/apic.c @@ -492,35 +492,8 @@ static void __enable_x2apic(void) static void resume_x2apic(void) { - struct IO_APIC_route_entry **ioapic_entries = NULL; - - ASSERT(x2apic_enabled); - - ioapic_entries = alloc_ioapic_entries(); - if ( !ioapic_entries ) - { - printk("Allocate ioapic_entries failed\n"); - goto out; - } - - if ( save_IO_APIC_setup(ioapic_entries) ) - { - printk("Saving IO-APIC state failed\n"); - goto out; - } - - mask_8259A(); - mask_IO_APIC_setup(ioapic_entries); - iommu_enable_x2apic(); __enable_x2apic(); - - restore_IO_APIC_setup(ioapic_entries); - unmask_8259A(); - -out: - if ( ioapic_entries ) - free_ioapic_entries(ioapic_entries); } void setup_local_APIC(void) -- 2.39.5