1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #include <common.h>
- #include <asm/processor.h>
- #include <asm/irq.h>
- extern int interrupt_init_cpu(void);
- extern void timer_interrupt_cpu(void *arg);
- extern int timer_interrupt_init_cpu(void);
- int intLock(void)
- {
- unsigned int pil;
- pil = get_pil();
-
- set_pil(15);
- return pil;
- }
- void intUnlock(int oldLevel)
- {
- set_pil(oldLevel);
- }
- void enable_interrupts(void)
- {
- set_pil(0);
- }
- int disable_interrupts(void)
- {
- return intLock();
- }
- int interrupt_is_enabled(void)
- {
- if (get_pil() == 15)
- return 0;
- return 1;
- }
- int interrupt_init(void)
- {
- int ret;
-
- ret = interrupt_init_cpu();
-
- enable_interrupts();
- return ret;
- }
|