2009-01-07 23:14:39 +08:00
/* -*- linux-c -*-
2009-03-04 16:52:38 +08:00
* include / asm - blackfin / ipipe_base . h
2009-01-07 23:14:39 +08:00
*
* Copyright ( C ) 2007 Philippe Gerum .
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , Inc . , 675 Mass Ave , Cambridge MA 0213 9 ,
* USA ; either version 2 of the License , or ( at your option ) any later
* version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
*/
# ifndef __ASM_BLACKFIN_IPIPE_BASE_H
# define __ASM_BLACKFIN_IPIPE_BASE_H
# ifdef CONFIG_IPIPE
# define IPIPE_NR_XIRQS NR_IRQS
# define IPIPE_IRQ_ISHIFT 5 /* 2^5 for 32bits arch. */
2009-03-04 16:52:38 +08:00
/* Blackfin-specific, per-cpu pipeline status */
# define IPIPE_SYNCDEFER_FLAG 15
# define IPIPE_SYNCDEFER_MASK (1L << IPIPE_SYNCDEFER_MASK)
2009-01-07 23:14:39 +08:00
/* Blackfin traps -- i.e. exception vector numbers */
# define IPIPE_NR_FAULTS 52 /* We leave a gap after VEC_ILL_RES. */
/* Pseudo-vectors used for kernel events */
# define IPIPE_FIRST_EVENT IPIPE_NR_FAULTS
# define IPIPE_EVENT_SYSCALL (IPIPE_FIRST_EVENT)
# define IPIPE_EVENT_SCHEDULE (IPIPE_FIRST_EVENT + 1)
# define IPIPE_EVENT_SIGWAKE (IPIPE_FIRST_EVENT + 2)
# define IPIPE_EVENT_SETSCHED (IPIPE_FIRST_EVENT + 3)
# define IPIPE_EVENT_INIT (IPIPE_FIRST_EVENT + 4)
# define IPIPE_EVENT_EXIT (IPIPE_FIRST_EVENT + 5)
# define IPIPE_EVENT_CLEANUP (IPIPE_FIRST_EVENT + 6)
# define IPIPE_LAST_EVENT IPIPE_EVENT_CLEANUP
# define IPIPE_NR_EVENTS (IPIPE_LAST_EVENT + 1)
# define IPIPE_TIMER_IRQ IRQ_CORETMR
# ifndef __ASSEMBLY__
extern unsigned long __ipipe_root_status ; /* Alias to ipipe_root_cpudom_var(status) */
2009-10-27 22:05:31 +01:00
void __ipipe_stall_root ( void ) ;
unsigned long __ipipe_test_and_stall_root ( void ) ;
unsigned long __ipipe_test_root ( void ) ;
void __ipipe_lock_root ( void ) ;
void __ipipe_unlock_root ( void ) ;
2009-01-07 23:14:39 +08:00
# endif /* !__ASSEMBLY__ */
# endif /* CONFIG_IPIPE */
# endif /* !__ASM_BLACKFIN_IPIPE_BASE_H */