Changeset 36233 in vbox for trunk/src/VBox/Runtime/r0drv/linux
- Timestamp:
- Mar 9, 2011 5:05:12 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 70454
- Location:
- trunk/src/VBox/Runtime/r0drv/linux
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
r35662 r36233 119 119 #include <asm/div64.h> 120 120 121 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) 122 # include <linux/kthread.h> 123 #endif 124 121 125 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0) 122 126 # ifndef page_to_pfn … … 364 368 #endif 365 369 366 367 #endif 368 370 #endif -
trunk/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
r28800 r36233 38 38 39 39 40 /** @todo Later.41 40 RTDECL(RTTHREAD) RTThreadSelf(void) 42 41 { 43 42 return rtThreadGetByNative((RTNATIVETHREAD)current); 44 43 } 45 */46 44 45 int rtThreadNativeInit(void) 46 { 47 return VINF_SUCCESS; 48 } 49 50 int rtThreadNativeSetPriority(PRTTHREADINT pThread, RTTHREADTYPE enmType) 51 { 52 int Priority = 0; 53 switch (enmType) 54 { 55 case RTTHREADTYPE_INFREQUENT_POLLER: Priority = 9; break; 56 case RTTHREADTYPE_EMULATION: Priority = 7; break; 57 case RTTHREADTYPE_DEFAULT: Priority = 8; break; 58 case RTTHREADTYPE_MSG_PUMP: Priority = 9; break; 59 case RTTHREADTYPE_IO: Priority = 10; break; 60 case RTTHREADTYPE_TIMER: Priority = 11; break; 61 62 default: 63 AssertMsgFailed(("enmType=%d\n", enmType)); 64 return VERR_INVALID_PARAMETER; 65 } 66 return VINF_SUCCESS; 67 } 68 69 int rtThreadNativeAdopt(PRTTHREADINT pThread) 70 { 71 return VERR_NOT_IMPLEMENTED; 72 } 73 74 75 void rtThreadNativeDestroy(PRTTHREADINT pThread) 76 { 77 NOREF(pThread); 78 } 79 80 /** 81 * Native kernel thread wrapper function. 82 * 83 * This will forward to rtThreadMain and do termination upon return. 84 * 85 * @param pvArg Pointer to the argument package. 86 */ 87 static int rtThreadNativeMain(void *pvArg) 88 { 89 PRTTHREADINT pThread = (PRTTHREADINT)pvArg; 90 91 rtThreadMain(pThread, (RTNATIVETHREAD)current, &pThread->szName[0]); 92 return 0; 93 } 94 95 96 int rtThreadNativeCreate(PRTTHREADINT pThreadInt, PRTNATIVETHREAD pNativeThread) 97 { 98 struct task_struct *NativeThread; 99 100 RT_ASSERT_PREEMPTIBLE(); 101 102 NativeThread = kthread_run(rtThreadNativeMain, pThreadInt, "%s", pThreadInt->szName); 103 104 if (IS_ERR(NativeThread)) 105 return VERR_GENERAL_FAILURE; 106 107 *pNativeThread = (RTNATIVETHREAD)NativeThread; 108 return VINF_SUCCESS; 109 }
Note:
See TracChangeset
for help on using the changeset viewer.