valid flag is added

This commit is contained in:
Taku Shimosawa
2011-12-02 13:19:44 +09:00
parent 7999653a00
commit e42395e42a
4 changed files with 18 additions and 4 deletions

View File

@ -35,8 +35,9 @@ struct program_load_desc {
};
struct syscall_request {
unsigned long valid;
unsigned long number;
unsigned long args[5];
unsigned long args[6];
};
struct syscall_wait_desc {

View File

@ -54,6 +54,9 @@ int mcctrl_ikc_set_recv_cpu(int cpu)
return 0;
}
unsigned long *mcctrl_doorbell_va;
unsigned long mcctrl_doorbell_pa;
static void mcctrl_ikc_init(aal_os_t os, int cpu, unsigned long rphys)
{
struct ikc_scd_packet packet;
@ -71,8 +74,8 @@ static void mcctrl_ikc_init(aal_os_t os, int cpu, unsigned long rphys)
pmc->param.request_va = (void *)__get_free_pages(GFP_KERNEL, 4);
pmc->param.request_pa = virt_to_phys(pmc->param.request_va);
pmc->param.doorbell_va = (void *)__get_free_page(GFP_KERNEL);
pmc->param.doorbell_pa = virt_to_phys(pmc->param.doorbell_va);
pmc->param.doorbell_va = mcctrl_doorbell_va;
pmc->param.doorbell_pa = mcctrl_doorbell_pa;
pmc->param.post_va = (void *)__get_free_page(GFP_KERNEL);
pmc->param.post_pa = virt_to_phys(pmc->param.post_va);
memset(pmc->param.doorbell_va, 0, PAGE_SIZE);
@ -97,6 +100,10 @@ static void mcctrl_ikc_init(aal_os_t os, int cpu, unsigned long rphys)
packet.ref = cpu;
packet.arg = rphys;
printk("Request: %lx, Response: %lx, Doorbell: %lx\n",
pmc->param.request_pa, pmc->param.response_rpa,
pmc->param.doorbell_pa);
aal_ikc_send(pmc->c, &packet, 0);
iounmap(rpm);
@ -138,6 +145,9 @@ int prepare_ikc_channels(aal_os_t os)
{
struct aal_cpu_info *info;
mcctrl_doorbell_va = (void *)__get_free_page(GFP_KERNEL);
mcctrl_doorbell_pa = virt_to_phys(mcctrl_doorbell_va);
info = aal_os_get_cpu_info(os);
if (!info) {
printk("Error: cannot retrieve CPU info.\n");