--- zzzz-none-000/linux-2.6.39.4/arch/x86/kernel/apic/apic.c 2011-08-03 19:43:28.000000000 +0000 +++ puma6-atom-6490-729/linux-2.6.39.4/arch/x86/kernel/apic/apic.c 2021-11-10 13:38:14.000000000 +0000 @@ -52,6 +52,12 @@ #include #include #include +#if defined(CONFIG_AVM_POWER) +#include +#endif/*--- #if defined(CONFIG_AVM_POWER) ---*/ +#if defined(CONFIG_AVM_SIMPLE_PROFILING) +#include +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ unsigned int num_processors; @@ -857,7 +863,21 @@ */ exit_idle(); irq_enter(); +#if defined(CONFIG_AVM_POWER) + avm_cpu_wait_end(); /*--- auch wenn es wait_irqoff gibt: trotzdem aufrufen, um system-load-Ausgabe zu triggern ---*/ +#endif/*--- #if defined(CONFIG_AVM_POWER) ---*/ +#if defined(CONFIG_AVM_SIMPLE_PROFILING) +#if defined(avm_simple_profiling_enter_irq_context) + avm_simple_profiling_enter_irq_context((unsigned int)instruction_pointer(regs), regs->bp); +#else/*--- #if defined(avm_simple_profiling_enter_irq_context) ---*/ + avm_simple_profiling_enter_irqcontext((unsigned int)instruction_pointer(regs)); +#endif/*--- #else ---*//*--- #if defined(avm_simple_profiling_enter_irq_context) ---*/ + avm_simple_profiling_log(avm_profile_data_type_hw_irq_begin, (unsigned int)smp_apic_timer_interrupt, 0x104); +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ local_apic_timer_interrupt(); +#if defined(CONFIG_AVM_SIMPLE_PROFILING) + avm_simple_profiling_log(avm_profile_data_type_hw_irq_end, (unsigned int)smp_apic_timer_interrupt, 0x104); +#endif/*--- #if defined(CONFIG_AVM_SIMPLE_PROFILING) ---*/ irq_exit(); set_irq_regs(old_regs);