I took your advice so instead of using "L4_Reply()" I used "L4_Send()" and i
took out the unnecessary error check, but nothing changed. The code still
does not seem to be able to acknowledge the interrupt the new code looks
like this:
#include <l4io.h>
#include <l4/ipc.h>
#include <l4/schedule.h>
#include <l4/thread.h>
int main(int argc, char** argv){
printf("application started\n");
L4_ThreadId_t root = L4_MyGlobalId(); //roottask
L4_ThreadId_t irq1 = L4_GlobalId(1, 1); //keyboard interrupt
L4_Time_t one_sec = L4_TimePeriod(1000000);
L4_ThreadId_t from;
L4_AssociateInterrupt(irq1, root);
while(1){
L4_Wait(&from);
if(from == irq1){
printf("interrupt received\n");
L4_LoadMR(0, 0);
L4_Send(from, one_sec); //here I'm assuming that 1 second is enough time
}
}
return 0;
}
I don't of any reason why this shouldn't work.