mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
ARC common code to enable a SMP system + ISS provided SMP extensions. ARC700 natively lacks SMP support, hence some of the core features are are only enabled if SoCs have the necessary h/w pixie-dust. This includes: -Inter Processor Interrupts (IPI) -Cache coherency -load-locked/store-conditional ... The low level exception handling would be completely broken in SMP because we don't have hardware assisted stack switching. Thus a fair bit of this code is repurposing the MMU_SCRATCH reg for event handler prologues to keep them re-entrant. Many thanks to Rajeshwar Ranga for his initial "major" contributions to SMP Port (back in 2008), and to Noam Camus and Gilad Ben-Yossef for help with resurrecting that in 3.2 kernel (2012). Note that this platform code is again singleton design pattern - so multiple SMP platforms won't build at the moment - this deficiency is addressed in subsequent patches within this series. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Rajeshwar Ranga <rajeshwar.ranga@gmail.com> Cc: Noam Camus <noamc@ezchip.com> Cc: Gilad Ben-Yossef <gilad@benyossef.com>
35 lines
668 B
C
35 lines
668 B
C
/*
|
|
* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* vineetg: Feb 2009
|
|
* -For AA4 board, IRQ assignments to peripherals
|
|
*/
|
|
|
|
#ifndef __PLAT_IRQ_H
|
|
#define __PLAT_IRQ_H
|
|
|
|
#ifdef CONFIG_SMP
|
|
#define NR_IRQS 32
|
|
#else
|
|
#define NR_IRQS 16
|
|
#endif
|
|
|
|
#define UART0_IRQ 5
|
|
#define UART1_IRQ 10
|
|
#define UART2_IRQ 11
|
|
|
|
#define VMAC_IRQ 6
|
|
|
|
#define IDE_IRQ 13
|
|
#define PCI_IRQ 14
|
|
#define PS2_IRQ 15
|
|
|
|
#ifdef CONFIG_SMP
|
|
#define IDU_INTERRUPT_0 16
|
|
#endif
|
|
|
|
#endif
|