Commit 96f4b173 authored by Aurelio Colosimo's avatar Aurelio Colosimo

arch-spec/dev/irq.c copied from wrpc-sw (commit 82fd420e) and compiled

parent 5dd2ab04
......@@ -23,6 +23,7 @@ OBJ-libarch := $A/spec-startup.o \
$A/dev/pps_gen.o \
$A/dev/minic.o \
$A/dev/softpll_ng.o \
$A/dev/irq.o \
lib/div64.o
$(LIBARCH): $(OBJ-libarch)
......
#include "irq.h"
void disable_irq()
{
unsigned int ie, im;
unsigned int Mask = ~1;
/* disable peripheral interrupts in case they were enabled */
asm volatile ("rcsr %0,ie":"=r"(ie));
ie &= (~0x1);
asm volatile ("wcsr ie, %0"::"r"(ie));
/* disable mask-bit in im */
asm volatile ("rcsr %0, im":"=r"(im));
im &= Mask;
asm volatile ("wcsr im, %0"::"r"(im));
}
void enable_irq()
{
unsigned int ie, im;
unsigned int Mask = 1;
/* disable peripheral interrupts in-case they were enabled*/
asm volatile ("rcsr %0,ie":"=r"(ie));
ie &= (~0x1);
asm volatile ("wcsr ie, %0"::"r"(ie));
/* enable mask-bit in im */
asm volatile ("rcsr %0, im":"=r"(im));
im |= Mask;
asm volatile ("wcsr im, %0"::"r"(im));
ie |= 0x1;
asm volatile ("wcsr ie, %0"::"r"(ie));
}
......@@ -64,9 +64,3 @@ void ppsi_main(void)
/* Our crt0.S is unchanged: it wants a "main" function, and "_irq_entry" too" */
int main(void) __attribute__((alias("ppsi_main")));
void _irq_entry(void)
{
return;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment