hi,
I think iam not clear...
ok, i think the below code gotta work, but does not:)
I have registered for int 1 and controled the flow so
that it does not go to linux.
i compile the module and invoke it using
$ insmod adtest.o;sleep 1;rmmod adtest
since the keyboard int is not dispatched to linux i do
the insmod and rmmod commands oneshot.
It still hangs :(
I get the timer interrupts. But EVEN ADEOS is not able
to see other interrupts. Iam not able to telnet to the
machine or use the serial cable.
But i will work with the new code in CVS and mail u
the results.
Cheers,
Mohan S
/****adtest.c****/
MODULE_LICENSE("GPL");
static adomain_t this_domain;
void handler(void)
{
__asm("iret");
}
void domain_entry (void)
{
printk("Domain %s started.\n",adp_current->name);
adeos_virtualize_irq( 1 ,&handler,NULL);
adeos_control_irq(1,IPIPE_PASS_MASK,0);
for (;;)
/* This is this domain's idle loop. */
adeos_suspend_domain(); /* Yield control back to
ADEOS. */
}
static int __init __adtest_init (void)
{
int ret;
adattr_t attr;
attr.name = "TestDomain";
attr.entry = &domain_entry;
attr.estacksz = 0; /* Let ADEOS choose a
reasonable stack size */
attr.priority = ADEOS_ROOT_PRI + 1;
ret = adeos_register_domain(&this_domain,&attr);
return ret;
}
static void __exit __adtest_exit (void)
{
adeos_unregister_domain(&this_domain);
}
module_init(__adtest_init);
module_exit(__adtest_exit);
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com