Displaying 2 results from an estimated 2 matches for "get_apic_id".
2007 Sep 08
4
[PATCH] Unified shutdown code
...used by __start_xen (in EARLY_FAIL()) before
much
+ * of the system has been initialized (e.g. before fixmap)
+ */
+static void machine_teardown(int type)
{
int i;
+ int timeout = 10;
+
+ if ( type != TEARDOWN_TYPE_EARLY )
+ {
+ /* Ensure we are the boot CPU. */
+ if ( GET_APIC_ID(apic_read(APIC_ID)) !=
boot_cpu_physical_apicid )
+ {
+ printk("machine_teardown() not called on BSP\n");
+ /* Send IPI to the boot CPU (logical cpu 0). */
+ on_selected_cpus(cpumask_of_cpu(0), (void
*)machine_teardown,
+ (void *)(unsigned long)type, 1, 0);
+ /* par...
2012 Nov 14
0
[PATCH] x86/nmi: self_nmi() should not unconditionally enable interrupts
...i.c
+++ b/xen/arch/x86/nmi.c
@@ -482,13 +482,14 @@ void nmi_watchdog_tick(struct cpu_user_r
* 8-3 and 8-4 in IA32 Reference Manual Volume 3. We send the IPI to
* our own APIC ID explicitly which is valid.
*/
-void self_nmi(void)
+void self_nmi(void)
{
+ unsigned long flags;
u32 id = get_apic_id();
- local_irq_disable();
+ local_irq_save(flags);
apic_wait_icr_idle();
apic_icr_write(APIC_DM_NMI | APIC_DEST_PHYSICAL, id);
- local_irq_enable();
+ local_irq_restore(flags);
}
static void do_nmi_trigger(unsigned char key)