Changeset 33540 in vbox for trunk/src/VBox/Runtime/r0drv
- Timestamp:
- Oct 28, 2010 9:27:05 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 67140
- Location:
- trunk/src/VBox/Runtime/r0drv
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/darwin/memobj-r0drv-darwin.cpp
r32348 r33540 188 188 * @param HCPhys The address to start reading at. 189 189 * @param cb How many bytes to read. 190 * @param pvDst Where to put the bytes. This is zero' ed on failure.190 * @param pvDst Where to put the bytes. This is zero'd on failure. 191 191 */ 192 192 static void rtR0MemObjDarwinReadPhys(RTHCPHYS HCPhys, size_t cb, void *pvDst) … … 824 824 rtR0MemObjDarwinTouchPages(pv, cbSub); 825 825 /** @todo First, the memory should've been mapped by now, and second, it 826 * shou ild have the wired attribute in the PTE (bit 9). Neither is826 * should have the wired attribute in the PTE (bit 9). Neither is 827 827 * seems to be the case. The disabled locking code doesn't make any 828 828 * difference, which is extremely odd, and breaks -
trunk/src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c
r32708 r33540 158 158 _4G-1, /* highest physical address */ 159 159 PAGE_SIZE, /* alignment. */ 160 0); /* bound rary */160 0); /* boundary */ 161 161 if (pv) 162 162 { -
trunk/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
r32348 r33540 375 375 _4G-1, /* highest physical address */ 376 376 PAGE_SIZE, /* alignment. */ 377 0); /* bound rary */377 0); /* boundary */ 378 378 if (pMemFreeBSD->Core.pv) 379 379 { … … 492 492 _4G-1, /* highest physical address */ 493 493 uAlignment, /* alignment. */ 494 0); /* bound rary */494 0); /* boundary */ 495 495 if (pMemFreeBSD->Core.pv) 496 496 { -
trunk/src/VBox/Runtime/r0drv/freebsd/mp-r0drv-freebsd.c
r29499 r33540 161 161 RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void *pvUser1, void *pvUser2) 162 162 { 163 /* Will panic if no rendezvou ing cpus, so check up front. */163 /* Will panic if no rendezvousing cpus, so check up front. */ 164 164 if (RTMpGetOnlineCount() > 1) 165 165 { … … 209 209 RTMPARGS Args; 210 210 211 /* Will panic if no rendezvou ing cpus, so make sure the cpu is online. */211 /* Will panic if no rendezvousing cpus, so make sure the cpu is online. */ 212 212 if (!RTMpIsCpuOnline(idCpu)) 213 213 return VERR_CPU_NOT_FOUND; … … 245 245 cpumask_t Mask; 246 246 247 /* Will panic if no rendezvou ing cpus, so make sure the cpu is online. */247 /* Will panic if no rendezvousing cpus, so make sure the cpu is online. */ 248 248 if (!RTMpIsCpuOnline(idCpu)) 249 249 return VERR_CPU_NOT_FOUND; -
trunk/src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h
r29878 r33540 72 72 73 73 /** 74 * Wrappers aroun tthe sleepq_ KPI.74 * Wrappers around the sleepq_ KPI. 75 75 */ 76 76 #if __FreeBSD_version >= 800026 -
trunk/src/VBox/Runtime/r0drv/freebsd/timer-r0drv-freebsd.c
r32572 r33540 171 171 172 172 /* 173 * Calc when it should start fir eing.173 * Calc when it should start firing. 174 174 */ 175 175 u64First += RTTimeNanoTS(); -
trunk/src/VBox/Runtime/r0drv/initterm-r0drv.cpp
r28800 r33540 57 57 58 58 /** 59 * Init alizes the ring-0 driver runtime library.59 * Initializes the ring-0 driver runtime library. 60 60 * 61 61 * @returns iprt status code. -
trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
r33011 r33540 79 79 * This means it has to be given back as one chunk. */ 80 80 bool fContiguous; 81 /** Set if we've vmap'ed the dmemory into ring-0. */81 /** Set if we've vmap'ed the memory into ring-0. */ 82 82 bool fMappedToRing0; 83 83 /** The pages in the apPages array. */ … … 695 695 /* 696 696 * There are two clear cases and that's the <=16MB and anything-goes ones. 697 * When the physical address limit is somewhere in between those two we'll697 * When the physical address limit is somewhere in-between those two we'll 698 698 * just have to try, starting with HIGHUSER and working our way thru the 699 699 * different types, hoping we'll get lucky. … … 798 798 * Get user pages. 799 799 */ 800 rc = get_user_pages(pTask, /* Task for fault ac ounting. */800 rc = get_user_pages(pTask, /* Task for fault accounting. */ 801 801 pTask->mm, /* Whose pages. */ 802 802 R3Ptr, /* Where from. */ -
trunk/src/VBox/Runtime/r0drv/linux/mpnotification-r0drv-linux.c
r28800 r33540 114 114 115 115 /* 116 * Pick the earlies possible offline event.116 * Pick the earliest possible offline event. 117 117 * The only important thing here is that we get the event and that 118 118 * it's exactly one. -
trunk/src/VBox/Runtime/r0drv/linux/semeventmulti-r0drv-linux.c
r33373 r33540 181 181 182 182 /* 183 * Signal the event object. The cause of the par noia here is racing to try183 * Signal the event object. The cause of the paranoia here is racing to try 184 184 * deal with racing RTSemEventMultiSignal calls (should probably be 185 185 * forbidden, but it's relatively easy to handle). -
trunk/src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c
r28800 r33540 127 127 } 128 128 129 /* calcu ate the return value */129 /* calculate the return value */ 130 130 u64 = ulNow; 131 131 u64 *= TICK_NSEC; -
trunk/src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c
r33011 r33540 630 630 631 631 /* 632 * Some state change occur ed while we were in the callback routine.632 * Some state change occurred while we were in the callback routine. 633 633 */ 634 634 for (;;) … … 773 773 774 774 /* 775 * Some state change occur ed while we were in the callback routine.775 * Some state change occurred while we were in the callback routine. 776 776 */ 777 777 for (;;) … … 1501 1501 * If this is running on ALL cpus, we'll have to register a callback 1502 1502 * for MP events (so timers can be started/stopped on cpus going 1503 * online/offline). We also create the spinlock for sync rhonizing1503 * online/offline). We also create the spinlock for synchronizing 1504 1504 * stop/start/mp-event. 1505 1505 */ -
trunk/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h
r33155 r33540 57 57 { 58 58 #ifdef IPRT_LINUX_HAS_HRTIMER 59 /** The timeout when fHighRes is true. Absolute, so no updat eing. */59 /** The timeout when fHighRes is true. Absolute, so no updating. */ 60 60 ktime_t KtTimeout; 61 61 #endif … … 194 194 * 195 195 * This must be called before rtR0SemLnxWaitDoIt, and the caller should check 196 * the exit conditions in between the two calls.196 * the exit conditions in-between the two calls. 197 197 * 198 198 * @param pWait The wait structure. -
trunk/src/VBox/Runtime/r0drv/memobj-r0drv.cpp
r31157 r33540 319 319 320 320 /* 321 * Deal with map ings according to fFreeMappings.321 * Deal with mappings according to fFreeMappings. 322 322 */ 323 323 if ( !rtR0MemObjIsMapping(pMem) -
trunk/src/VBox/Runtime/r0drv/nt/RTTimerGetSystemGranularity-r0drv-nt.cpp
r33155 r33540 43 43 /* 44 44 * Get the default/max timer increment value, return it if ExSetTimerResolution 45 * isn't available. Accor ing to the sysinternals guys NtQueryTimerResolution45 * isn't available. According to the sysinternals guys NtQueryTimerResolution 46 46 * is only available in userland and they find it equally annoying. 47 47 */ -
trunk/src/VBox/Runtime/r0drv/os2/timer-r0drv-os2.cpp
r32572 r33540 63 63 uint8_t volatile fSuspended; 64 64 /** Cleared at the start of timer processing, set when calling pfnTimer. 65 * If any timer changes occur es while doing the callback this will be used to resume the cycle. */65 * If any timer changes occurs while doing the callback this will be used to resume the cycle. */ 66 66 bool fDone; 67 67 /** Callback. */ … … 237 237 238 238 /* 239 * Calc when it should start fir eing and give the thread a kick so it get going.239 * Calc when it should start firing and give the thread a kick so it get going. 240 240 */ 241 241 u64First += RTTimeNanoTS(); -
trunk/src/VBox/Runtime/r0drv/solaris/initterm-r0drv-solaris.c
r33149 r33540 64 64 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86) 65 65 /* 66 * Detec hwhether spl*() is preserving the interrupt flag or not.66 * Detect whether spl*() is preserving the interrupt flag or not. 67 67 * This is a problem on S10. 68 68 */ -
trunk/src/VBox/Runtime/r0drv/solaris/vbi/i86pc/os/vbi.c
r32919 r33540 72 72 /* 73 73 * Workarounds for running on old versions of solaris with different cross call 74 * interfaces. If we find xc_init_cpu() in the ke nel, then just use the defined74 * interfaces. If we find xc_init_cpu() in the kernel, then just use the defined 75 75 * interfaces for xc_call() from the include file where the xc_call() 76 76 * interfaces just takes a pointer to a ulong_t array. The array must be long … … 215 215 /* 216 216 * Our bit vector storage needs to be large enough for the 217 * actual number of CPUs running in the sy tem.217 * actual number of CPUs running in the system. 218 218 */ 219 219 if (ncpus > VBI_NCPU) { … … 1302 1302 { 1303 1303 /* 1304 * get pages from kseg, the 'virtAddr' here is only for colouring but unfor untately1304 * get pages from kseg, the 'virtAddr' here is only for colouring but unfortunately 1305 1305 * we don't have the 'virtAddr' to which this memory may be mapped. 1306 1306 */ -
trunk/src/VBox/Runtime/r0drv/solaris/vbi/mpnotification-r0drv-solaris.c
r28800 r33540 43 43 static vbi_cpu_watch_t *g_hVbiCpuWatch = NULL; 44 44 /** Set of online cpus that is maintained by the MP callback. 45 * This avoids locking issues quer ing the set from the kernel as well as45 * This avoids locking issues querying the set from the kernel as well as 46 46 * eliminating any uncertainty regarding the online status during the 47 47 * callback. */
Note:
See TracChangeset
for help on using the changeset viewer.