All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] please i need help for rt_intr_create() fails
@ 2006-12-21 15:17 mani bhatti
  2006-12-21 15:53 ` Jan Kiszka
  0 siblings, 1 reply; 4+ messages in thread
From: mani bhatti @ 2006-12-21 15:17 UTC (permalink / raw)
  To: xenomai


[-- Attachment #1.1: Type: text/plain, Size: 190 bytes --]



Note: forwarded message attached.
 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

[-- Attachment #1.2: Type: text/html, Size: 211 bytes --]

[-- Attachment #2: Type: message/rfc822, Size: 7004 bytes --]

[-- Attachment #2.1.1.1: Type: text/plain, Size: 572 bytes --]

Hi all
i am trying to create a user space parallel port interrupt but the problem is that   err=rt_intr_create(&intr_desc,"MyIrq",IRQ_NUMBER,I_NOAUTOENA);


returns -22 instead of zero which means success.i dont have idea what this error code  -22 means.please help me in this regard.i am attaching the sample code.If some one can send me some basic working user space xenomai  code i would be  very thankful.Thanks,

 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

[-- Attachment #2.1.1.2: Type: text/html, Size: 626 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2.1.2: 18037014-parinterrupt.c --]
[-- Type: text/x-csrc; name="parinterrupt.c", Size: 2367 bytes --]


#include <math.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <sys/time.h>
#include <sys/io.h>
#include <sys/mman.h>

#include <native/task.h>
#include <native/queue.h>
#include <native/intr.h>



#define STACK_SIZE 8192
#define STD_PRIO1 2
#define STD_PRIO2 1
#define IRQ_NUMBER 7 
#define BASEPORT 0x378
#define PARPORTINT 7


RT_TASK zaehler1_task_ptr;
RT_TASK zaehler2_task_ptr;
RT_INTR intr_desc;

int count1 = 0;
int count2 = 0;
int i;
int end = 0;

//                      --s-ms-us-ns
RTIME task_period_ns1 =   1000000000llu;
RTIME task_period_ns2 =  10000000000llu;


void zaehler2_task(void *cookie){
	int ret;	
	long ii;
	long jj;
	double a;
        unsigned long overrun;
        int err;

	while(!end){
	
         err = rt_intr_wait(&intr_desc,TM_INFINITE);
         printf("Error is %d\n",err);

                printf("\nInterrupt occured");

		fflush(NULL);
        }
// ********************** Ende des wiederholt ausgefuehrten Codes ***********************************************
}
       


// signal-handler, to ensure clean exit on Ctrl-C
void clean_exit(int dummy) {
	printf("cleanup\n");
	end = 1;
	rt_task_delete(&zaehler2_task_ptr);
        rt_intr_delete(&intr_desc);	
        printf("end\n");
}

int main(int argc, char *argv[]) {
	int err, ret;
	printf("start\n");
	// install signal handler
	signal(SIGTERM, clean_exit);	
	signal(SIGINT, clean_exit);	
	
        // ask for permission to access the parallel port from user-space
	if (iopl(3)) {  
	      perror("iopl"); 
          //	printf("iopl err\n");
		exit(1);
	}


         outb_p(0x10, BASEPORT + 2);
         mlockall(MCL_CURRENT | MCL_FUTURE);
         err = rt_intr_create(&intr_desc,"MyIrq",IRQ_NUMBER,I_NOAUTOENA);
         printf("rt_intr_create=%i\n", err);

         switch(-err)

          {
             case ENOMEM  :
             printf("fail to allocate dynamic memory");
             break;

             case EBUSY:
             printf("Busy");
             break;
             }

        rt_intr_enable (&intr_desc);
   


	/* create zaehler2_task */
	err = rt_task_create(&zaehler2_task_ptr,"beta",STACK_SIZE,STD_PRIO2,0);

	/* start zaehler2_task */
	err = rt_task_start(&zaehler2_task_ptr,&zaehler2_task,NULL);

	// wait for signal & return of signal handler
	pause();
	fflush(NULL);
	return 0;
}

[-- Attachment #2.1.3: Type: text/plain, Size: 141 bytes --]

_______________________________________________
Xenomai-help mailing list
Xenomai-help@domain.hid
https://mail.gna.org/listinfo/xenomai-help

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai-help] please i need help for rt_intr_create() fails
  2006-12-21 15:17 [Xenomai-help] please i need help for rt_intr_create() fails mani bhatti
@ 2006-12-21 15:53 ` Jan Kiszka
  2006-12-21 16:00   ` mani bhatti
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2006-12-21 15:53 UTC (permalink / raw)
  To: mani bhatti; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

mani bhatti wrote:
> Hi all
> i am trying to create a user space parallel port interrupt but the problem is that   err=rt_intr_create(&intr_desc,"MyIrq",IRQ_NUMBER,I_NOAUTOENA);
> 
> returns -22 instead of zero which means success.i dont have idea what this error code  -22 means.please help me in this regard.i am attaching the sample code.If some one can send me some basic working user space xenomai  code i would be  very thankful.Thanks,

Your test loads fine for me over latest Xenomai (but I see no reason why
older versions should fail). Maybe your kernel/userspace pair is out of
sync.

If the problem persists, add some printk into the path the
rt_intr_create syscall takes. Start here:

http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/skins/native/syscall.c#3066

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai-help] please i need help for rt_intr_create() fails
  2006-12-21 15:53 ` Jan Kiszka
@ 2006-12-21 16:00   ` mani bhatti
  2006-12-21 16:28     ` Jan Kiszka
  0 siblings, 1 reply; 4+ messages in thread
From: mani bhatti @ 2006-12-21 16:00 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 1113 bytes --]

Thanks Jan.
Please tell me which xenomai version are you using.i think i need to recompile me kernel again.

Best regards
imran
Jan Kiszka <jan.kiszka@domain.hid> wrote: mani bhatti wrote:
> Hi all
> i am trying to create a user space parallel port interrupt but the problem is that   err=rt_intr_create(&intr_desc,"MyIrq",IRQ_NUMBER,I_NOAUTOENA);
> 
> returns -22 instead of zero which means success.i dont have idea what this error code  -22 means.please help me in this regard.i am attaching the sample code.If some one can send me some basic working user space xenomai  code i would be  very thankful.Thanks,

Your test loads fine for me over latest Xenomai (but I see no reason why
older versions should fail). Maybe your kernel/userspace pair is out of
sync.

If the problem persists, add some printk into the path the
rt_intr_create syscall takes. Start here:

http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/skins/native/syscall.c#3066

Jan



 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

[-- Attachment #2: Type: text/html, Size: 1360 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xenomai-help] please i need help for rt_intr_create() fails
  2006-12-21 16:00   ` mani bhatti
@ 2006-12-21 16:28     ` Jan Kiszka
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2006-12-21 16:28 UTC (permalink / raw)
  To: mani bhatti; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 208 bytes --]

mani bhatti wrote:
> Thanks Jan.
> Please tell me which xenomai version are you using.i think i need to recompile me kernel again.

Tested over SVN head (#1972), but 2.2.5 must be fine as well.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-12-21 16:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-21 15:17 [Xenomai-help] please i need help for rt_intr_create() fails mani bhatti
2006-12-21 15:53 ` Jan Kiszka
2006-12-21 16:00   ` mani bhatti
2006-12-21 16:28     ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.