os_prinf links to printk
authorDaniel Röhrig <daniel.roehrig@mailbox.tu-berlin.de>
Thu, 21 Nov 2013 14:32:12 +0000 (15:32 +0100)
committerDaniel Röhrig <daniel.roehrig@mailbox.tu-berlin.de>
Thu, 21 Nov 2013 14:32:12 +0000 (15:32 +0100)
We used objcopy (after several unsuccessful attempts with -defsym) to
link os_pritnf to printk.

framework/os/linux/Makefile
framework/os/linux/os.c

index cb3bd14..04c7ec1 100644 (file)
@@ -8,6 +8,8 @@ OBJ+=$(MOD_SCHED_DIR)/os/linux/fw_task_linux.o
 mod_sched_build: $(OBJ)
        @echo "--- Scheduler-Module Linking... ---"
        $(LD) -o kernel/sched.new/mod_sched.o $(OBJ) -r
+       # Use printk whenever os_printf is called
+       objcopy --redefine-sym os_printf=printk kernel/sched.new/mod_sched.o
        @echo "--- Scheduler-Module Linked! ---"                
        
 %.o: %.c
index b536e7b..2ba7c93 100644 (file)
 extern struct fw_task *fw_idle_task;
 extern void context_switch(struct rq *rq, struct task_struct *prev, struct task_struct *next);
 
-//TODO Do this with linker magic (optimization)
-void os_printf(const char* formatstring, ...)
-{
-       va_list list;
-       va_start(list, formatstring);
-       vprintk(formatstring, list);
-       va_end(list);
-}
-
 void *os_malloc(fw_size_t size)
 {
        return kmalloc(size,GFP_KERNEL);