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

Reply via email to