Changeset 7360 in vbox
- Timestamp:
- Mar 7, 2008 1:23:19 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 28783
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r7356 r7360 346 346 generic/uuid-generic.cpp \ 347 347 os2/RTErrConvertFromOS2.cpp \ 348 r3/os2/filelock-os2.cpp \ 349 r3/os2/mp-os2.cpp \ 348 350 r3/os2/sched-os2.cpp \ 349 351 r3/os2/sems-os2.cpp \ … … 351 353 r3/os2/thread-os2.cpp \ 352 354 r3/os2/time-os2.cpp \ 353 r3/os2/filelock-os2.cpp \354 355 r3/posix/alloc-posix.cpp \ 355 356 r3/posix/dir-posix.cpp \ -
trunk/src/VBox/Runtime/r3/os2/mp-os2.cpp
r7357 r7360 1 1 /* $Id$ */ 2 2 /** @file 3 * innotek Portable Runtime - System, OS/2.3 * innotek Portable Runtime - Multiprocessor, OS/2. 4 4 */ 5 5 … … 34 34 #undef RT_MAX 35 35 36 #include <iprt/system.h> 36 #include <iprt/mp.h> 37 #include <iprt/cpuset.h> 37 38 #include <iprt/assert.h> 38 39 40 /** @todo RTMpCpuId() */ 39 41 40 RTDECL(unsigned) RTSystemProcessorGetCount(void) 42 RTDECL(int) RTMpCpuIdToSetIndex(RTCPUID idCpu) 43 { 44 return idCpu < RTCPUSET_MAX_CPUS ? idCpu : -1; 45 } 46 47 48 RTDECL(RTCPUID) RTMpCpuIdFromSetIndex(int iCpu) 49 { 50 return (unsigned)iCpu < RTCPUSET_MAX_CPUS ? iCpu : NIL_RTCPUID; 51 } 52 53 54 RTDECL(RTCPUID) RTMpGetMaxCpuId(void) 55 { 56 return RTCPUSET_MAX_CPUS; 57 } 58 59 60 RTDECL(bool) RTMpIsCpuOnline(RTCPUID idCpu) 61 { 62 RTCPUSET Set; 63 return RTCpuSetIsMember(RTMpGetOnlineSet(&Set), idCpu); 64 } 65 66 67 RTDECL(bool) RTMpDoesCpuExist(RTCPUID idCpu) 68 { 69 RTCPUSET Set; 70 return RTCpuSetIsMember(RTMpGetSet(&Set), idCpu); 71 } 72 73 74 RTDECL(PRTCPUSET) RTMpGetSet(PRTCPUSET pSet) 75 { 76 RTCPUID idCpu = RTMpGetCount(); 77 RTCpuSetEmpty(pSet); 78 while (idCpu-- > 0) 79 RTCpuSetAdd(pSet, idCpu); 80 return pSet; 81 } 82 83 84 RTDECL(RTCPUID) RTMpGetCount(void) 41 85 { 42 86 ULONG cCpus = 1; … … 48 92 49 93 50 RT R3DECL(uint64_t) RTSystemProcessorGetActiveMask(void)94 RTDECL(PRTCPUSET) RTMpGetOnlineSet(PRTCPUSET pSet); 51 95 { 52 96 union … … 59 103 if (rc) 60 104 u.u64 = 1; 61 return u.u64;105 return RTCpuSetFromU64(pSet, u.u64); 62 106 } 63 107 108 109 RTDECL(RTCPUID) RTMpGetOnlineCount(void) 110 { 111 RTCPUSET Set; 112 RTMpGetOnlineSet(&Set); 113 return RTCpuSetCount(&Set); 114 } 115
Note:
See TracChangeset
for help on using the changeset viewer.