Przeglądaj źródła

Merge tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag

Pull metag arch updates from James Hogan:
 "A fix for 4KiB stacks with SMP, and a change of maintenance status to
  'Odd Fixes'"

* tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
  MAINTAINERS: Change Meta arch port status to Odd Fixes
  metag: Turn irq_ctx_* macros into static inlines
  metag: SMP: Fix 4KiB stack setup on secondary CPUs
Linus Torvalds 9 lat temu
rodzic
commit
c6de7f1754
3 zmienionych plików z 9 dodań i 3 usunięć
  1. 1 1
      MAINTAINERS
  2. 6 2
      arch/metag/include/asm/irq.h
  3. 2 0
      arch/metag/kernel/smp.c

+ 1 - 1
MAINTAINERS

@@ -6994,7 +6994,7 @@ F:	Documentation/hwmon/menf21bmc
 METAG ARCHITECTURE
 M:	James Hogan <james.hogan@imgtec.com>
 L:	linux-metag@vger.kernel.org
-S:	Supported
+S:	Odd Fixes
 F:	arch/metag/
 F:	Documentation/metag/
 F:	Documentation/devicetree/bindings/metag/

+ 6 - 2
arch/metag/include/asm/irq.h

@@ -6,8 +6,12 @@ extern void irq_ctx_init(int cpu);
 extern void irq_ctx_exit(int cpu);
 # define __ARCH_HAS_DO_SOFTIRQ
 #else
-# define irq_ctx_init(cpu) do { } while (0)
-# define irq_ctx_exit(cpu) do { } while (0)
+static inline void irq_ctx_init(int cpu)
+{
+}
+static inline void irq_ctx_exit(int cpu)
+{
+}
 #endif
 
 void tbi_startup_interrupt(int);

+ 2 - 0
arch/metag/kernel/smp.c

@@ -312,6 +312,7 @@ void cpu_die(void)
 {
 	local_irq_disable();
 	idle_task_exit();
+	irq_ctx_exit(smp_processor_id());
 
 	(void)cpu_report_death();
 
@@ -366,6 +367,7 @@ asmlinkage void secondary_start_kernel(void)
 		panic("No TBI found!");
 
 	per_cpu_trap_init(cpu);
+	irq_ctx_init(cpu);
 
 	preempt_disable();