• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/osfmk/ppc/

Lines Matching refs:pmap

102 /*			addr64_t hw_add_map(struct pmap *pmap, struct mapping *mp) - Adds a mapping
104 * Maps a page or block into a pmap
111 * 2) lock pmap share
113 * 4) upgrade pmap to exclusive
119 * 10) unlock pmap
126 * 2) lock pmap share
128 * 4) upgrade pmap to exclusive
130 * 6) unlock pmap
164 bne hamPanic ; Call not valid for guest shadow assist pmap
168 mr r28,r3 ; Save the pmap
171 lwz r20,pmapvr+4(r3) ; Get conversion mask for pmap
176 hamSF1: ld r20,pmapvr(r3) ; Get conversion mask for pmap
182 xor r28,r28,r20 ; Convert the pmap to physical addressing
185 la r3,pmapSXlk(r28) ; Point to the pmap search lock
201 mr r3,r28 ; Pass in pmap to search
240 la r3,pmapSXlk(r28) ; Point to the pmap search lock
255 la r3,pmapSXlk(r28) ; Point to the pmap search lock
265 hamGotX: mr r3,r28 ; Get the pmap to insert into
275 lwz r12,pmapResidentMax(r28) ; r12 = pmap->stats.resident_max
278 cmplw r12,r4 ; if pmap->stats.resident_max >= pmap->stats.resident_count
280 stw r4,pmapResidentMax(r28) ; pmap->stats.resident_max = pmap->stats.resident_count
332 hamDoneNP: la r3,pmapSXlk(r28) ; Point to the pmap search lock
388 la r3,pmapSXlk(r28) ; Point to the pmap search lock
435 * mapping *hw_rem_map(pmap, vaddr, addr64_t *next) - remove a mapping from the system.
437 * Upon entry, R3 contains a pointer to a pmap. Since vaddr is
451 * Remove mapping via pmap, regular page, no pte
453 * 1) lock pmap share
455 * 4) upgrade pmap to exclusive
458 * 6) unlock pmap
466 * Remove mapping via pmap, regular page, with pte
468 * 1) lock pmap share
477 * 10) unlock pmap
485 * Remove mapping via pmap, I/O or block
487 * 1) lock pmap share
493 * 7) unlock pmap
505 * 17) lock pmap share
552 bne hrmPanic ; Call not valid for guest shadow assist pmap
564 xor r28,r3,r9 ; Convert the pmap to physical addressing
570 hrmJoin: lwz r3,pmapFlags(r28) ; Get pmap's flags
580 la r3,pmapSXlk(r28) ; Point to the pmap search lock
591 mr r3,r28 ; Pass in pmap to search
610 la r3,pmapSXlk(r28) ; Point to the pmap search lock
622 la r3,pmapSXlk(r28) ; Point to the pmap search lock
627 mr r3,r28 ; Pass in pmap to search
743 mr r3,r28 ; Get the pmap to remove from
750 la r3,pmapSXlk(r28) ; Point to the pmap search lock
782 la r3,pmapSXlk(r28) ; Point to the pmap search lock
793 la r3,pmapSXlk(r28) ; Point to the pmap search lock
805 la r3,pmapSXlk(r28) ; Point to the pmap search lock
934 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1039 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1046 mr r3,r28 ; Pass in pmap to search
1059 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1065 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1070 mr r3,r28 ; Pass in pmap to search
1082 mr r3,r28 ; Get the pmap to remove from
1087 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1158 mr r3,r28 ; Get the pmap to remove from
1165 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1267 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1382 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1389 mr r3,r28 ; Pass in pmap to search
1402 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1408 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1413 mr r3,r28 ; Pass in pmap to search
1425 mr r3,r28 ; Get the pmap to remove from
1430 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1449 ; o Locate the VMM extension block and the host pmap
1450 ; o Obtain the host pmap's search lock exclusively
1457 ; o Unlock pmap's search lock
1462 ; r28: guest pmap's physical address
1468 ; r27: host pmap's physical address
1469 ; r28: guest pmap's physical address
1478 lwz r26,pmapVmmExtPhys+4(r28) ; r26 <- VMM pmap extension block paddr
1479 lwz r27,vmxHostPmapPhys+4(r26) ; r27 <- host pmap's paddr
1482 hrmG64: ld r26,pmapVmmExtPhys(r28) ; r26 <- VMM pmap extension block paddr
1483 ld r27,vmxHostPmapPhys(r26) ; r27 <- host pmap's paddr
1486 hrmGStart: la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
1688 la r3,pmapSXlk(r27) ; r3 <- host pmap search lock phys addr
1689 bl sxlkUnlock ; Release host pmap search lock
1713 * alias list. It locks the list, extracts the vaddr and pmap from
1734 * 2) extract vaddr and pmap
1736 * 4) do "remove mapping via pmap"
1785 lis r28,hi16(EXT(pmapTrans)) ; Get the top of the start of the pmap hash to pmap translate table
1787 ori r28,r28,lo16(EXT(pmapTrans)) ; Get the top of the start of the pmap hash to pmap translate table
1795 add r28,r28,r7 ; Point to the pmap translation
1801 lwz r28,pmapPAddr+4(r28) ; Get the physical address of the pmap
1804 hppSF2: ld r28,pmapPAddr(r28) ; Get the physical address of the pmap
1832 * mapping *hw_purge_map(pmap, vaddr, addr64_t *next) - remove a mapping from the system.
1834 * Upon entry, R3 contains a pointer to a pmap. Since vaddr is
1883 bne hpmPanic ; Call not valid for guest shadow assist pmap
1895 xor r28,r3,r9 ; Convert the pmap to physical addressing
1899 la r3,pmapSXlk(r28) ; Point to the pmap search lock
1909 mr r3,r28 ; Pass in pmap to search
1921 b hrmNotFound ; No more in pmap to check...
1937 * mapping *hw_purge_space(physent, pmap) - remove a mapping from the system based upon address space
1939 * Upon entry, R3 contains a pointer to a pmap.
1942 * This function removes the first mapping for a specific pmap from a physical entry
1943 * alias list. It locks the list, extracts the vaddr and pmap from
1964 * 2) extract vaddr and pmap
1966 * 4) do "remove mapping via pmap"
2003 bne hpsPanic ; Call not valid for guest shadow assist pmap
2008 lwz r9,pmapvr+4(r4) ; Get conversion mask for pmap
2012 hpsSF1: ld r9,pmapvr(r4) ; Get conversion mask for pmap
2016 xor r4,r4,r9 ; Convert the pmap to physical addressing
2056 hpsFnd: mr r28,r4 ; Set the pmap physical address
2082 li r3,mapRtEmpty ; No mappings for specified pmap on physent chain
2093 * mapping *hw_scrub_guest(physent, pmap) - remove first guest mapping associated with host
2097 * specified host pmap. If this succeeds, the mapping is removed by joining the general
2105 * r4 : host pmap, 32-bit kernel virtual address
2114 * r27: host pmap's physical address
2115 * r28: guest pmap's physical address
2148 lwz r11,pmapVmmExt(r4) ; get VMM pmap extension block vaddr
2151 lwz r26,pmapVmmExtPhys+4(r4) ; Get VMM pmap extension block paddr
2155 hsg64Salt: ld r26,pmapVmmExtPhys(r4) ; Get VMM pmap extension block paddr
2170 lis r28,hi16(EXT(pmapTrans)) ; Get the top of the start of the pmap hash to pmap translate table
2172 ori r28,r28,lo16(EXT(pmapTrans)) ; Get the top of the start of the pmap hash to pmap translate table
2179 add r28,r28,r7 ; Point to the pmap translation
2180 lwz r28,pmapPAddr+4(r28) ; Get guest pmap paddr
2206 lis r28,hi16(EXT(pmapTrans)) ; Get the top of the start of the pmap hash to pmap translate table
2208 ori r28,r28,lo16(EXT(pmapTrans)) ; Get the top of the start of the pmap hash to pmap translate table
2215 add r28,r28,r7 ; Point to the pmap translation
2216 ld r28,pmapPAddr(r28) ; Get guest pmap paddr
2237 * space is the space ID from the pmap in question
2351 ; mapping *hw_find_map(pmap, va, *nextva) - Looks up a vaddr in a pmap
2374 bne hfmPanic ; Call not valid for guest shadow assist pmap
2377 lwz r6,pmapvr(r3) ; Get the first part of the VR translation for pmap
2395 la r3,pmapSXlk(r28) ; Point to the pmap search lock
2400 mr r3,r28 ; get the pmap address
2429 hfmNotFnd: la r3,pmapSXlk(r28) ; Point to the pmap search lock
3139 ; unsigned int hw_protect(pmap, va, prot, *nextva) - Changes protection on a specific mapping.
3169 bne hpPanic ; Call not valid for guest shadow assist pmap
3172 lwz r6,pmapvr(r3) ; Get the first part of the VR translation for pmap
3190 la r3,pmapSXlk(r28) ; Point to the pmap search lock
3195 mr r3,r28 ; get the pmap address
3231 hpNoOld32: la r3,pmapSXlk(r28) ; Point to the pmap search lock
3256 hpNoOld64: la r3,pmapSXlk(r28) ; Point to the pmap search lock
3293 hpNotFound: la r3,pmapSXlk(r28) ; Point to the pmap search lock
3301 la r3,pmapSXlk(r28) ; Point to the pmap search lock
3320 ; int hw_test_rc(pmap, va, reset) - tests RC on a specific va
3347 bne htrPanic ; Call not valid for guest shadow assist pmap
3350 lwz r6,pmapvr(r3) ; Get the first part of the VR translation for pmap
3368 la r3,pmapSXlk(r28) ; Point to the pmap search lock
3374 mr r3,r28 ; get the pmap address
3414 htrNoOld32: la r3,pmapSXlk(r28) ; Point to the pmap search lock
3445 htrNoOld64: la r3,pmapSXlk(r28) ; Point to the pmap search lock
3481 la r3,pmapSXlk(r28) ; Point to the pmap search lock
3767 ; should be loading the user pmap here.
3776 la r8,ppUserPmap(r19) ; Point to the current user pmap
3789 lwz r28,4(r8) ; Pick up the pmap
3791 mr r25,r28 ; Save the original pmap (in case we nest)
3792 lwz r0,pmapFlags(r28) ; Get pmap's flags
3807 hpf64a: ld r28,0(r8) ; Get the pmap pointer (64-bit)
3808 mr r25,r28 ; Save the original pmap (in case we nest)
3809 lwz r0,pmapFlags(r28) ; Get pmap's flags
3818 hpfNest: la r3,pmapSXlk(r28) ; Point to the pmap search lock
3824 mr r3,r28 ; Get the pmap pointer
3857 la r3,pmapSXlk(r28) ; Point to the old pmap search lock
3871 add r12,r12,r10 ; Now we are pointing at the space to pmap translation entry
3875 lwz r28,pmapPAddr+4(r12) ; Get the physical address of the new pmap
3876 cmplwi r28,0 ; Is the pmap paddr valid?
3877 bne+ hpfNest ; Nest into new pmap...
3878 b hpfBadPmap ; Handle bad pmap
3881 ld r28,pmapPAddr(r12) ; Get the physical address of the new pmap
3882 cmpldi r28,0 ; Is the pmap paddr valid?
3883 bne++ hpfNest ; Nest into new pmap...
3884 b hpfBadPmap ; Handle bad pmap
3896 la r3,pmapSXlk(r28) ; Point to the pmap search lock
3916 ; Error condition - space id selected an invalid pmap - fatal
3924 li r3,failPmap ; Show invalid pmap
3934 la r3,pmapSXlk(r28) ; Point to the pmap search lock
3948 ; The linkage mapping is basically a nested pmap that is switched in
3980 ; Important non-volatile registers at this point ('home' means the final pmap/mapping found
3985 ; r25: pmap physical address
3987 ; r28: home pmap physical address
3994 hpfFoundIt: lwz r12,pmapFlags(r28) ; Get the pmap flags so we can find the keys for this segment
4018 ; Here is the only place that we make an entry in the pmap segment cache.
4025 ; into a segment in the pmap cache. If it is already there, this is
4031 ; If we get a hit, we just bail, otherwise, lock the pmap cache, select
4033 ; also update the pmap sub-tag as well. The sub-tag is a table of 4 bit
4045 ; Remember, this cache entry goes in the ORIGINAL pmap (saved in R25), not
4054 mr r3,r25 ; Point to the pmap
4205 ; a different pmap, i.e., we have descended into a nested pmap, it is possible
4206 ; that the nest could have been removed from the original pmap. We would
4662 la r3,pmapSXlk(r28) ; Point to the pmap search lock
4676 la r3,pmapSXlk(r28) ; Point to the pmap search lock
4685 ; Here we handle a fault in a guest pmap that has the guest shadow mapping
4686 ; assist active. We locate the VMM pmap extension block, which contains an
4696 ; The VMM pmap extension block occupies a page. Begining at offset 0, we
4705 ; a share of the pmap search lock for the host pmap with the host pmap's
4706 ; address in r28, the guest pmap's space id in r21, and the guest pmap's
4714 lwz r11,pmapVmmExtPhys+4(r28) ; r11 <- VMM pmap extension block paddr
4715 lwz r12,pmapFlags(r28) ; r12 <- guest pmap's flags
4717 lwz r28,vmxHostPmapPhys+4(r11) ; r28 <- host pmap's paddr
4731 la r3,pmapSXlk(r28) ; Point to the host pmap's search lock
4775 ld r11,pmapVmmExtPhys(r28) ; r11 <- VMM pmap extension block paddr
4776 lwz r12,pmapFlags(r28) ; r12 <- guest pmap's flags
4778 ld r28,vmxHostPmapPhys(r11) ; r28 <- host pmap's paddr
4793 la r3,pmapSXlk(r28) ; Point to the host pmap's search lock
4840 * hw_set_user_space(pmap)
4841 * hw_set_user_space_dis(pmap)
4868 lwz r2,ppUserPmapVirt(r6) ; Get our virtual pmap address
4875 stw r7,ppUserPmap(r6) ; Show our real pmap address
4877 stw r4,ppUserPmap+4(r6) ; Show our real pmap address
4878 stw r3,ppUserPmapVirt(r6) ; Show our virtual pmap address
4896 lwz r2,ppUserPmapVirt(r6) ; Get our virtual pmap address
4900 stw r7,ppUserPmap(r6) ; Show our real pmap address
4902 stw r4,ppUserPmap+4(r6) ; Show our real pmap address
4903 stw r3,ppUserPmapVirt(r6) ; Show our virtual pmap address
5205 ; hw_map_seg(pmap_t pmap, addr64_t seg, addr64_t va)
5207 ; r3 = virtual pmap
5436 ; This routine invadates the entire pmap segment cache
5498 la r19,ppUserPmap(r29) ; Point to the current user pmap
5503 andc r8,r8,r3 ; Zero kernel pmap ptr if user, untouched otherwise
5504 and r19,r19,r3 ; Zero user pmap ptr if kernel, untouched otherwise
5506 or r8,r8,r19 ; Get the pointer to the pmap we are using
5510 lwz r28,0(r8) ; Get top half of pmap address
5712 ; Remove all mappings for a guest pmap from the shadow hash table.
5715 ; r3 : address of pmap, 32-bit kernel virtual address
5718 ; r24 : host pmap's physical address
5721 ; r27 : guest pmap's space ID number
5723 ; r29 : guest pmap's physical address
5749 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
5752 lwz r25,pmapVmmExtPhys+4(r3) ; r25 <- VMM pmap extension block paddr
5754 lwz r24,vmxHostPmapPhys+4(r11) ; r24 <- host pmap's paddr
5756 gra64Salt: ld r25,pmapVmmExtPhys(r3) ; r25 <- VMM pmap extension block paddr
5758 ld r24,vmxHostPmapPhys(r11) ; r24 <- host pmap's paddr
5763 la r3,pmapSXlk(r24) ; r3 <- host pmap's search lock
5771 lwz r27,pmapSpace(r29) ; r27 <- guest pmap's space ID number
5898 la r3,pmapSXlk(r24) ; r3 <- host pmap's search lock
5899 bl sxlkUnlock ; Release host pmap's search lock
5932 ; Remove local mappings for a guest pmap from the shadow hash table.
5935 ; r3 : address of guest pmap, 32-bit kernel virtual address
5942 ; r24 : host pmap's physical address
5945 ; r27 : guest pmap's space ID number
5947 ; r29 : guest pmap's physical address
5977 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
5980 lwz r25,pmapVmmExtPhys+4(r3) ; r25 <- VMM pmap extension block paddr
5982 lwz r24,vmxHostPmapPhys+4(r11) ; r24 <- host pmap's paddr
5984 grl64Salt: ld r25,pmapVmmExtPhys(r3) ; r25 <- VMM pmap extension block paddr
5986 ld r24,vmxHostPmapPhys(r11) ; r24 <- host pmap's paddr
5992 la r3,pmapSXlk(r24) ; r3 <- host pmap's search lock
5996 lwz r27,pmapSpace(r29) ; r27 <- guest pmap's space ID number
6071 grlDone: la r3,pmapSXlk(r24) ; r3 <- host pmap's search lock
6072 bl sxlkUnlock ; Release host pmap's search lock
6106 ; r3 : address of host pmap, 32-bit kernel virtual address
6107 ; r4 : address of guest pmap, 32-bit kernel virtual address
6119 ; r27 : host pmap physical address
6120 ; r28 : guest pmap physical address
6153 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
6156 lwz r23,pmapVmmExtPhys+4(r3) ; r23 <- VMM pmap extension block paddr
6157 lwz r27,pmapvr+4(r3) ; Get 32-bit virt<->real host pmap conversion salt
6158 lwz r28,pmapvr+4(r4) ; Get 32-bit virt<->real guest pmap conversion salt
6172 ld r23,pmapVmmExtPhys(r3) ; r23 <- VMM pmap extension block paddr
6173 ld r27,pmapvr(r3) ; Get 64-bit virt<->real host pmap conversion salt
6174 ld r28,pmapvr(r4) ; Get 64-bit virt<->real guest pmap conversion salt
6190 la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
6312 lwz r6,pmapSpace(r27) ; Get host pmap's space id number
6334 lwz r6,pmapSpace(r27) ; Get pmap's space id number
6427 grsRelPmap: la r3,pmapSXlk(r27) ; r3 <- host pmap search lock phys addr
6428 bl sxlkUnlock ; Release host pmap search lock
6455 b grsRelPmap ; Exit through host pmap search lock release
6471 ; r3 : address of host pmap, 32-bit kernel virtual address
6472 ; r4 : address of guest pmap, 32-bit kernel virtual address
6484 ; r27 : host pmap physical address
6485 ; r28 : guest pmap physical address
6522 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
6525 lwz r23,pmapVmmExtPhys+4(r3) ; r23 <- VMM pmap extension block paddr
6526 lwz r27,pmapvr+4(r3) ; Get 32-bit virt<->real host pmap conversion salt
6527 lwz r28,pmapvr+4(r4) ; Get 32-bit virt<->real guest pmap conversion salt
6539 gad64Salt: ld r23,pmapVmmExtPhys(r3) ; r23 <- VMM pmap extension block paddr
6540 ld r27,pmapvr(r3) ; Get 64-bit virt<->real host pmap conversion salt
6541 ld r28,pmapvr(r4) ; Get 64-bit virt<->real guest pmap conversion salt
6557 la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
6810 gadRelPmap: la r3,pmapSXlk(r27) ; r3 <- host pmap search lock phys addr
6811 bl sxlkUnlock ; Release host pmap search lock
6849 ; r3 : address of host pmap, 32-bit kernel virtual address
6850 ; r4 : address of guest pmap, 32-bit kernel virtual address
6856 ; r27 : host pmap physical address
6857 ; r28 : guest pmap physical address
6886 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
6890 lwz r26,pmapVmmExtPhys+4(r3) ; r26 <- VMM pmap extension block paddr
6891 lwz r27,pmapvr+4(r3) ; Get 32-bit virt<->real host pmap conversion salt
6892 lwz r28,pmapvr+4(r4) ; Get 32-bit virt<->real guest pmap conversion salt
6904 ld r26,pmapVmmExtPhys(r3) ; r26 <- VMM pmap extension block paddr
6905 ld r27,pmapvr(r3) ; Get 64-bit virt<->real host pmap conversion salt
6906 ld r28,pmapvr(r4) ; Get 64-bit virt<->real guest pmap conversion salt
6922 la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
7025 la r3,pmapSXlk(r27) ; r3 <- host pmap search lock phys addr
7026 bl sxlkUnlock ; Release host pmap search lock
7053 ; r3 : address of host pmap, 32-bit kernel virtual address
7054 ; r4 : address of guest pmap, 32-bit kernel virtual address
7063 ; r27 : host pmap physical address
7064 ; r28 : guest pmap physical address
7095 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
7100 lwz r24,pmapVmmExtPhys+4(r3) ; r24 <- VMM pmap extension block paddr
7101 lwz r27,pmapvr+4(r3) ; Get 32-bit virt<->real host pmap conversion salt
7102 lwz r28,pmapvr+4(r4) ; Get 32-bit virt<->real guest pmap conversion salt
7115 ld r24,pmapVmmExtPhys(r3) ; r24 <- VMM pmap extension block paddr
7116 ld r27,pmapvr(r3) ; Get 64-bit virt<->real host pmap conversion salt
7117 ld r28,pmapvr(r4) ; Get 64-bit virt<->real guest pmap conversion salt
7134 la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
7233 gtdNoOld32: la r3,pmapSXlk(r27) ; Point to the pmap search lock
7263 gtdNoOld64: la r3,pmapSXlk(r27) ; Point to the pmap search lock
7268 la r3,pmapSXlk(r27) ; Point to the pmap search lock
7309 ; r3 : address of guest pmap, 32-bit kernel virtual address
7317 ; r27 : host pmap physical address
7318 ; r28 : guest pmap physical address
7349 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
7354 lwz r25,pmapVmmExtPhys+4(r3) ; r25 <- VMM pmap extension block paddr
7355 lwz r28,pmapvr+4(r3) ; Get 32-bit virt<->real guest pmap conversion salt
7356 lwz r27,vmxHostPmapPhys+4(r11) ; Get host pmap physical address
7369 ld r25,pmapVmmExtPhys(r3) ; r24 <- VMM pmap extension block paddr
7370 ld r28,pmapvr(r3) ; Get 64-bit virt<->real guest pmap conversion salt
7371 ld r27,vmxHostPmapPhys(r11) ; Get host pmap physical address
7386 la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
7467 lwz r6,pmapSpace(r27) ; Get host pmap's space id number
7487 lwz r6,pmapSpace(r27) ; Get host pmap's space id number
7507 la r3,pmapSXlk(r27) ; Get host pmap search lock address
7508 bl sxlkUnlock ; Release host pmap search lock
7517 la r3,pmapSXlk(r27) ; Get host pmap search lock address
7518 bl sxlkUnlock ; Release host pmap search lock
7561 ; r3 : address of guest pmap, 32-bit kernel virtual address
7569 ; r27 : host pmap physical address
7570 ; r28 : guest pmap physical address
7601 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
7606 lwz r25,pmapVmmExtPhys+4(r3) ; r25 <- VMM pmap extension block paddr
7607 lwz r28,pmapvr+4(r3) ; Get 32-bit virt<->real guest pmap conversion salt
7608 lwz r27,vmxHostPmapPhys+4(r11) ; Get host pmap physical address
7621 ld r25,pmapVmmExtPhys(r3) ; r24 <- VMM pmap extension block paddr
7622 ld r28,pmapvr(r3) ; Get 64-bit virt<->real guest pmap conversion salt
7623 ld r27,vmxHostPmapPhys(r11) ; Get host pmap physical address
7638 la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
7722 la r3,pmapSXlk(r27) ; Get host pmap search lock address
7723 bl sxlkUnlock ; Release host pmap search lock
7763 la r3,pmapSXlk(r27) ; Get host pmap search lock address
7764 bl sxlkUnlock ; Release host pmap search lock
7776 ; r3 : address of guest pmap, 32-bit kernel virtual address
7784 ; r27 : host pmap physical address
7785 ; r28 : guest pmap physical address
7815 lwz r11,pmapVmmExt(r3) ; r11 <- VMM pmap extension block vaddr
7818 lwz r29,pmapVmmExtPhys+4(r3) ; r29 <- VMM pmap extension block paddr
7819 lwz r27,vmxHostPmapPhys+4(r11) ; r27 <- host pmap paddr
7820 lwz r28,pmapvr+4(r3) ; Get 32-bit virt<->real guest pmap conversion salt
7833 ld r29,pmapVmmExtPhys(r3) ; r29 <- VMM pmap extension block paddr
7834 ld r27,vmxHostPmapPhys(r11) ; r27 <- host pmap paddr
7835 ld r28,pmapvr(r3) ; Get 64-bit virt<->real guest pmap conversion salt
7850 la r3,pmapSXlk(r27) ; r3 <- host pmap's search lock address
7953 gcpRelPmap: la r3,pmapSXlk(r27) ; r3 <- host pmap search lock phys addr
7954 bl sxlkUnlock ; Release host pmap search lock
7979 b gcpRelPmap ; Exit through host pmap search lock release
8038 ; pmapCacheLookup - This function will look up an entry in the pmap segment cache.
8040 ; How the pmap cache lookup works:
8056 ; R3 = pmap
8061 ; R3 = pmap cache slot if found, 0 if not