*/
void
-cfs_thread_proc(
- void * context
- )
+cfs_thread_proc(void *context)
{
cfs_thread_context_t * thread_context =
(cfs_thread_context_t *) context;
/* Free the context memory */
- cfs_free(context);
+ kfree(context);
/* Terminate this system thread */
* name: thread name to create
*
* Return Value:
- * cfs_task_t: 0 on success or error codes
+ * struct task_struct: 0 on success or error codes
*
* Notes:
* N/A
*/
-cfs_task_t kthread_run(int (*func)(void *), void *arg, char *name)
+struct task_struct kthread_run(int (*func)(void *), void *arg, char *name)
{
cfs_handle_t thread = NULL;
NTSTATUS status;
- cfs_thread_context_t * context = NULL;
+ cfs_thread_context_t *context = NULL;
/* Allocate the context to be transferred to system thread */
- context = cfs_alloc(sizeof(cfs_thread_context_t), CFS_ALLOC_ZERO);
+ context = kmalloc(sizeof(cfs_thread_context_t), __GFP_ZERO);
if (!context) {
return ERR_PTR(-ENOMEM);
if (!NT_SUCCESS(status)) {
- cfs_free(context);
+ kfree(context);
/* We need translate the nt status to linux error code */
ZwClose(thread);
- return (cfs_task_t)0;
+ return (struct task_struct)0;
}
struct cfs_symbol *sym = NULL;
struct cfs_symbol *new = NULL;
- new = cfs_alloc(sizeof(struct cfs_symbol), CFS_ALLOC_ZERO);
- if (!new) {
- return (-ENOMEM);
- }
+ new = kmalloc(sizeof(struct cfs_symbol), __GFP_ZERO);
+ if (!new)
+ return -ENOMEM;
+
strncpy(new->name, name, CFS_SYMBOL_LEN);
new->value = (void *)value;
new->ref = 0;
sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
if (!strcmp(sym->name, name)) {
up_write(&cfs_symbol_lock);
- cfs_free(new);
+ kfree(new);
return 0; /* alreay registerred */
}
}
if (!strcmp(sym->name, name)) {
LASSERT(sym->ref == 0);
cfs_list_del (&sym->sym_list);
- cfs_free(sym);
+ kfree(sym);
break;
}
}
sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
LASSERT(sym->ref == 0);
cfs_list_del (&sym->sym_list);
- cfs_free(sym);
+ kfree(sym);
}
up_write(&cfs_symbol_lock);
return;
IN PVOID SystemArgument1,
IN PVOID SystemArgument2)
{
- cfs_timer_t * timer;
+ struct timer_list * timer;
KIRQL Irql;
- timer = (cfs_timer_t *) DeferredContext;
+ timer = (struct timer_list *) DeferredContext;
/* clear the flag */
KeAcquireSpinLock(&(timer->Lock), &Irql);
timer->proc((long_ptr_t)timer->arg);
}
-void cfs_init_timer(cfs_timer_t *timer)
+void cfs_init_timer(struct timer_list *timer)
{
- memset(timer, 0, sizeof(cfs_timer_t));
+ memset(timer, 0, sizeof(struct timer_list));
}
/*
* cfs_timer_init
- * To initialize the cfs_timer_t
+ * To initialize the struct timer_list
*
* Arguments:
* timer: the cfs_timer to be initialized
* N/A
*/
-void cfs_timer_init(cfs_timer_t *timer, void (*func)(ulong_ptr_t), void *arg)
+void cfs_timer_init(struct timer_list *timer, void (*func)(ulong_ptr_t), void *arg)
{
- memset(timer, 0, sizeof(cfs_timer_t));
+ memset(timer, 0, sizeof(struct timer_list));
timer->proc = func;
timer->arg = arg;
/*
* cfs_timer_done
- * To finialize the cfs_timer_t (unused)
+ * To finialize the struct timer_list (unused)
*
* Arguments:
* timer: the cfs_timer to be cleaned up
* N/A
*/
-void cfs_timer_done(cfs_timer_t *timer)
+void cfs_timer_done(struct timer_list *timer)
{
return;
}
* N/A
*/
-void cfs_timer_arm(cfs_timer_t *timer, cfs_time_t deadline)
+void cfs_timer_arm(struct timer_list *timer, cfs_time_t deadline)
{
LARGE_INTEGER timeout;
KIRQL Irql;
KeAcquireSpinLock(&(timer->Lock), &Irql);
if (!cfs_is_flag_set(timer->Flags, CFS_TIMER_FLAG_TIMERED)){
- timeout.QuadPart = (LONGLONG)-1*1000*1000*10/CFS_HZ*deadline;
+ timeout.QuadPart = (LONGLONG)-1*1000*1000*10/HZ*deadline;
if (KeSetTimer(&timer->Timer, timeout, &timer->Dpc)) {
cfs_set_flag(timer->Flags, CFS_TIMER_FLAG_TIMERED);
* N/A
*/
-void cfs_timer_disarm(cfs_timer_t *timer)
+void cfs_timer_disarm(struct timer_list *timer)
{
KIRQL Irql;
* N/A
*/
-int cfs_timer_is_armed(cfs_timer_t *timer)
+int cfs_timer_is_armed(struct timer_list *timer)
{
int rc = 0;
KIRQL Irql;
* N/A
*/
-cfs_time_t cfs_timer_deadline(cfs_timer_t * timer)
+cfs_time_t cfs_timer_deadline(struct timer_list * timer)
{
return timer->deadline;
}
* routine related with sigals
*/
-cfs_sigset_t cfs_block_allsigs()
+sigset_t cfs_block_allsigs()
{
return 0;
}
-cfs_sigset_t cfs_block_sigs(sigset_t bit)
+sigset_t cfs_block_sigs(sigset_t bit)
{
return 0;
}
/* Block all signals except for the @sigs. It's only used in
* Linux kernel, just a dummy here. */
-cfs_sigset_t cfs_block_sigsinv(unsigned long sigs)
+sigset_t cfs_block_sigsinv(unsigned long sigs)
{
return 0;
}
-void cfs_restore_sigs(cfs_sigset_t old)
+void cfs_restore_sigs(sigset_t old)
{
}
return NT_SUCCESS(status);
}
-int cfs_need_resched(void)
+int need_resched(void)
{
return 0;
}
-void cfs_cond_resched(void)
+void cond_resched(void)
{
}
and kernel ntoskrnl.lib) */
cfs_libc_init();
- /* create slab memory caches for page alloctors */
- cfs_page_t_slab = cfs_mem_cache_create(
- "CPGT", sizeof(cfs_page_t), 0, 0 );
+ /* create slab memory caches for page alloctors */
+ cfs_page_t_slab = kmem_cache_create("CPGT", sizeof(struct page),
+ 0, 0, NULL);
- cfs_page_p_slab = cfs_mem_cache_create(
- "CPGP", CFS_PAGE_SIZE, 0, 0 );
+ cfs_page_p_slab = kmem_cache_create("CPGP", PAGE_CACHE_SIZE,
+ 0, 0, NULL);
if ( cfs_page_t_slab == NULL ||
cfs_page_p_slab == NULL ){
errorout:
- if (rc != 0) {
- /* destroy the taskslot cache slab */
- if (cfs_page_t_slab) {
- cfs_mem_cache_destroy(cfs_page_t_slab);
- }
- if (cfs_page_p_slab) {
- cfs_mem_cache_destroy(cfs_page_p_slab);
- }
- }
+ if (rc != 0) {
+ /* destroy the taskslot cache slab */
+ if (cfs_page_t_slab)
+ kmem_cache_destroy(cfs_page_t_slab);
+ if (cfs_page_p_slab)
+ kmem_cache_destroy(cfs_page_p_slab);
+ }
return rc;
}
/* destroy the taskslot cache slab */
if (cfs_page_t_slab) {
- cfs_mem_cache_destroy(cfs_page_t_slab);
+kmem_cache_destroy(cfs_page_t_slab);
}
if (cfs_page_p_slab) {
- cfs_mem_cache_destroy(cfs_page_p_slab);
+kmem_cache_destroy(cfs_page_p_slab);
}
return;