Lines Matching refs:commpage
39 * The source files should be in osfmk/i386/commpage/.
42 * array in osfmk/i386/commpage/commpage_asm.s. There are two
43 * arrays, one for the 32-bit and one for the 64-bit commpage.
61 #include <machine/commpage.h>
71 /* the lists of commpage routines are in commpage_asm.s */
81 char *commPagePtr32 = NULL; // virtual addr in kernel map of 32-bit commpage
82 char *commPagePtr64 = NULL; // ...and of 64-bit commpage
83 char *commPageTextPtr32 = NULL; // virtual addr in kernel map of 32-bit commpage
84 char *commPageTextPtr64 = NULL; // ...and of 64-bit commpage
92 static char *commPagePtr; // virtual addr in kernel map of commpage we are working on
93 static commpage_address_t commPageBaseOffset; // subtract from 32-bit runtime address to get offset in virtual commpage in kernel map
100 /* Allocate the commpage and add to the shared submap created by vm:
113 vm_offset_t kernel_addr = 0; // address of commpage in kernel map
121 panic("commpage submap is null");
124 panic("cannot allocate commpage %d", kr);
127 panic("cannot wire commpage: %d", kr);
138 panic("cannot find commpage entry %d", kr);
147 panic("cannot make entry for commpage %d", kr);
160 panic("cannot map commpage %d", kr);
173 /* Get address (in kernel map) of a commpage field. */
193 panic("commpage cpus==0");
299 /* Copy data into commpage. */
310 panic("commpage overlap at address 0x%p, 0x%x < 0x%x", dest, address, next);
326 /* Fill in the 32- or 64-bit commpage. Called once for each.
336 const char* signature, // "commpage 32-bit" or "commpage 64-bit"
386 panic("commpage overflow: next = 0x%08x, commPagePtr = 0x%p", next, commPagePtr);
395 * a new routine to the commpage.
408 "commpage 32-bit",
414 time_data64 = time_data32; /* if no 64-bit commpage, point to 32-bit */
420 _COMM_PAGE32_START_ADDRESS, /* commpage address are relative to 32-bit commpage placement */
422 "commpage 64-bit",
483 panic("commpage text overflow: next=0x%08x, commPagePtr=%p", next, commPagePtr);
487 /* Update commpage nanotime information.
518 p32->nt_generation = 0; /* mark invalid, so commpage won't try to use it */
538 /* Disable commpage gettimeofday(), forcing commpage to call through to the kernel. */
548 /* Update commpage gettimeofday() information. As with nanotime(), we interleave
549 * updates to the 32- and 64-bit commpage, in order to keep time more nearly in sync
569 p32->gtod_generation = 0; /* mark invalid, so commpage won't try to use it */
644 /* At least 32-bit commpage must be initialized */