From patchwork Thu Sep 11 19:35:13 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuji Mano X-Patchwork-Id: 240 X-Patchwork-Delegate: yuji.mano@am.sony.com Return-Path: X-Original-To: patchwork@ozlabs.org Delivered-To: patchwork@ozlabs.org Received: from ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 979B1DE721 for ; Fri, 12 Sep 2008 06:38:09 +1000 (EST) X-Original-To: cbe-oss-dev@ozlabs.org Delivered-To: cbe-oss-dev@ozlabs.org Received: from WA4EHSOBE002.bigfish.com (outbound-wa4.frontbridge.com [216.32.181.16]) by ozlabs.org (Postfix) with ESMTP id B7C5DDE246 for ; Fri, 12 Sep 2008 06:37:15 +1000 (EST) Received: from mail1-wa4-R.bigfish.com (10.8.14.246) by WA4EHSOBE002.bigfish.com (10.8.40.22) with Microsoft SMTP Server id 8.1.291.1; Thu, 11 Sep 2008 20:37:15 +0000 Received: from mail1-wa4 (localhost.localdomain [127.0.0.1]) by mail1-wa4-R.bigfish.com (Postfix) with ESMTP id F1672800100 for ; Thu, 11 Sep 2008 20:37:14 +0000 (UTC) X-BigFish: VS4(zzzz10c0j10d3izz1497iz2dh6bh61h) X-Spam-TCS-SCL: 0:0 X-FB-SS: 5, Received: by mail1-wa4 (MessageSwitch) id 1221165433110496_14537; Thu, 11 Sep 2008 20:37:13 +0000 (UCT) Received: from mail8.fw-sd.sony.com (mail8.fw-sd.sony.com [160.33.66.75]) by mail1-wa4.bigfish.com (Postfix) with ESMTP id 0113F1568050 for ; Thu, 11 Sep 2008 20:37:12 +0000 (UTC) Received: from mail3.sjc.in.sel.sony.com (mail3.sjc.in.sel.sony.com [43.134.1.211]) by mail8.fw-sd.sony.com (8.14.2/8.14.2) with ESMTP id m8BKbCQZ021199 for ; Thu, 11 Sep 2008 20:37:12 GMT Received: from USSDIXIM02.am.sony.com (ussdixim02.am.sony.com [43.130.140.34]) by mail3.sjc.in.sel.sony.com (8.12.11/8.12.11) with ESMTP id m8BKbBhV021786 for ; Thu, 11 Sep 2008 20:37:11 GMT Received: from ussdixms03.am.sony.com ([43.130.140.23]) by USSDIXIM02.am.sony.com with Microsoft SMTPSVC(5.0.2195.6713); Thu, 11 Sep 2008 13:37:11 -0700 Received: from [43.135.148.175] ([43.135.148.175]) by ussdixms03.am.sony.com with Microsoft SMTPSVC(5.0.2195.6713); Thu, 11 Sep 2008 13:37:11 -0700 Message-ID: <48C972F1.9030003@am.sony.com> Date: Thu, 11 Sep 2008 12:35:13 -0700 From: Yuji Mano User-Agent: Thunderbird 2.0.0.5 (X11/20070719) MIME-Version: 1.0 To: CBE Development X-Enigmail-Version: 0.95.7 X-OriginalArrivalTime: 11 Sep 2008 20:37:11.0194 (UTC) FILETIME=[2AA08FA0:01C9144E] X-SEL-encryption-scan: scanned Subject: [Cbe-oss-dev] [PATCH 11/11]MARS: Fix build warnings X-BeenThere: cbe-oss-dev@ozlabs.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Discussion about Open Source Software for the Cell Broadband Engine List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cbe-oss-dev-bounces+patchwork=ozlabs.org@ozlabs.org Errors-To: cbe-oss-dev-bounces+patchwork=ozlabs.org@ozlabs.org This patch fixes some build warnings. Signed-off-by: Yuji Mano Acked-by: Kazunori Asayama --- a/src/host/lib/mars_task.c +++ b/src/host/lib/mars_task.c @@ -61,6 +61,7 @@ int mars_task_initialize(struct mars_con int ret; struct mars_task_context *task; + struct mars_workload_context *workload; Elf32_Ehdr *ehdr = (Elf32_Ehdr *)elf_image; Elf32_Phdr *phdr = (Elf32_Phdr *)((void *)ehdr + ehdr->e_phoff); @@ -78,10 +79,12 @@ int mars_task_initialize(struct mars_con /* begin process to add the task to the workload queue */ ret = workload_queue_add_begin(mars->workload_queue, &id->workload_id, - MARS_WORKLOAD_TYPE_TASK, - (struct mars_workload_context **)&task); + MARS_WORKLOAD_TYPE_TASK, &workload); MARS_CHECK_RET(ret == MARS_SUCCESS, ret); + /* cast workload context to task context */ + task = (struct mars_task_context *)workload; + /* initialize task specific id */ memcpy(&task->id, id, sizeof(struct mars_task_id)); @@ -129,13 +132,17 @@ int mars_task_finalize(struct mars_task_ int ret; struct mars_task_context *task; + struct mars_workload_context *workload; struct mars_context *mars = (void *)(uintptr_t)id->mars_context_ea; /* begin process to remove the task from the workload queue */ - ret = workload_queue_remove_begin(mars->workload_queue, id->workload_id, - (struct mars_workload_context **)&task); + ret = workload_queue_remove_begin(mars->workload_queue, + id->workload_id, &workload); MARS_CHECK_RET(ret == MARS_SUCCESS, ret); + /* cast workload context to task context */ + task = (struct mars_task_context *)workload; + /* free the allocated task context area if it has one */ if (task->context_save_size) free((void *)(uintptr_t)task->context_save_area); @@ -158,14 +165,17 @@ int mars_task_schedule(struct mars_task_ int ret; struct mars_task_context *task; + struct mars_workload_context *workload; struct mars_context *mars = (void *)(uintptr_t)id->mars_context_ea; /* begin process to schedule the workload in the workload queue */ ret = workload_queue_schedule_begin(mars->workload_queue, - id->workload_id, priority, - (struct mars_workload_context **)&task); + id->workload_id, priority, &workload); MARS_CHECK_RET(ret == MARS_SUCCESS, ret); + /* cast workload context to task context */ + task = (struct mars_task_context *)workload; + /* initialize task specific context variables */ task->stack = 0; if (args) @@ -189,13 +199,17 @@ int mars_task_wait(struct mars_task_id * int ret; struct mars_task_context *task; + struct mars_workload_context *workload; struct mars_context *mars = (void *)(uintptr_t)id->mars_context_ea; /* blocking wait for workload completion */ ret = workload_queue_wait(mars->workload_queue, id->workload_id, - (struct mars_workload_context **)&task); + &workload); MARS_CHECK_RET(ret == MARS_SUCCESS, ret); + /* cast workload context to task context */ + task = (struct mars_task_context *)workload; + /* exit_code requested so return it to caller */ if (exit_code) *exit_code = task->exit_code; @@ -211,13 +225,17 @@ int mars_task_try_wait(struct mars_task_ int ret; struct mars_task_context *task; + struct mars_workload_context *workload; struct mars_context *mars = (void *)(uintptr_t)id->mars_context_ea; /* non-blocking wait for workload completion */ ret = workload_queue_try_wait(mars->workload_queue, id->workload_id, - (struct mars_workload_context **)&task); + &workload); MARS_CHECK_RET(ret == MARS_SUCCESS, ret); + /* cast workload context to task context */ + task = (struct mars_task_context *)workload; + /* exit_code requested so return it to caller */ if (exit_code) *exit_code = task->exit_code; --- a/src/host/lib/mars_workload_queue.c +++ b/src/host/lib/mars_workload_queue.c @@ -41,6 +41,7 @@ #include "mars/mars_workload_queue.h" #include "mars/mars_kernel_types.h" +#include "mars/mars_mutex.h" #include "mars/mars_error.h" #include "mars/mars_debug.h" --- a/src/mpu/kernel/mars_kernel_task.c +++ b/src/mpu/kernel/mars_kernel_task.c @@ -64,6 +64,8 @@ void task_exec(struct mars_task_context void task_exit(struct mars_task_context *task) { + (void)task; + MARS_ASSERT(task); }