Changeset 53711 in vbox
- Timestamp:
- Jan 2, 2015 12:45:13 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 97488
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ExtPacks/VBoxDTrace/onnv/uts/common/dtrace/dtrace.c
r53703 r53711 461 461 (mstate)->dtms_scratch_ptr >= (alloc_sz)) 462 462 463 #ifndef VBOX 463 464 #define DTRACE_LOADFUNC(bits) \ 464 465 /*CSTYLED*/ \ … … 498 499 return (!(*flags & CPU_DTRACE_FAULT) ? rval : 0); \ 499 500 } 501 #else /* VBOX */ 502 # define DTRACE_LOADFUNC(bits) \ 503 VBDTSTATIC uint##bits##_t \ 504 dtrace_load##bits(uintptr_t addr) \ 505 { \ 506 size_t const size = bits / NBBY; \ 507 uint##bits##_t rval; \ 508 processorid_t me; \ 509 int i, rc; \ 510 \ 511 /*DTRACE_ALIGNCHECK(addr, size, flags);*/ \ 512 \ 513 for (i = 0; i < dtrace_toxranges; i++) { \ 514 if (addr >= dtrace_toxrange[i].dtt_limit) \ 515 continue; \ 516 \ 517 if (addr + size <= dtrace_toxrange[i].dtt_base) \ 518 continue; \ 519 \ 520 /* \ 521 * This address falls within a toxic region; return 0. \ 522 */ \ 523 me = VBDT_GET_CPUID(); \ 524 cpu_core[me].cpuc_dtrace_flags |= CPU_DTRACE_BADADDR; \ 525 cpu_core[me].cpuc_dtrace_illval = addr; \ 526 return (0); \ 527 } \ 528 \ 529 rc = RTR0MemKernelCopyFrom(&rval, (void const *)addr, size); \ 530 if (RT_SUCCESS(rc)) \ 531 return rval; \ 532 \ 533 /* \ 534 * If not supported, pray it won't fault... \ 535 */ \ 536 if (rc == VERR_NOT_SUPPORTED) \ 537 return *(uint##bits##_t const *)addr; \ 538 \ 539 me = VBDT_GET_CPUID(); \ 540 cpu_core[me].cpuc_dtrace_flags |= CPU_DTRACE_BADADDR; \ 541 cpu_core[me].cpuc_dtrace_illval = addr; \ 542 return (0); \ 543 } 544 545 #endif /* VBOX */ 500 546 501 547 #ifdef _LP64
Note:
See TracChangeset
for help on using the changeset viewer.