Lines Matching refs:pfn
8 #include <linux/pfn.h>
56 extern int xen_alloc_p2m_entry(unsigned long pfn);
58 extern unsigned long get_phys_to_machine(unsigned long pfn);
59 extern bool set_phys_to_machine(unsigned long pfn, unsigned long mfn);
60 extern bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn);
133 static inline unsigned long __pfn_to_mfn(unsigned long pfn)
137 if (pfn < xen_p2m_size)
138 mfn = xen_p2m_addr[pfn];
139 else if (unlikely(pfn < xen_max_p2m_pfn))
140 return get_phys_to_machine(pfn);
142 return IDENTITY_FRAME(pfn);
145 return get_phys_to_machine(pfn);
150 static inline unsigned long __pfn_to_mfn(unsigned long pfn)
152 return pfn;
156 static inline unsigned long pfn_to_mfn(unsigned long pfn)
166 return pfn;
168 mfn = __pfn_to_mfn(pfn);
176 static inline int phys_to_machine_mapping_valid(unsigned long pfn)
181 return __pfn_to_mfn(pfn) != INVALID_P2M_ENTRY;
186 unsigned long pfn;
197 ret = xen_safe_read_ulong(&machine_to_phys_mapping[mfn], &pfn);
201 return pfn;
206 unsigned long pfn;
216 pfn = mfn_to_pfn_no_overrides(mfn);
217 if (__pfn_to_mfn(pfn) != mfn)
218 pfn = ~0;
221 * pfn is ~0 if there are no entries in the m2p for mfn or the
224 if (pfn == ~0 && __pfn_to_mfn(mfn) == IDENTITY_FRAME(mfn))
225 pfn = mfn;
227 return pfn;
243 static inline unsigned long pfn_to_gfn(unsigned long pfn)
246 return pfn;
248 return pfn_to_mfn(pfn);
260 #define pfn_to_bfn(pfn) pfn_to_gfn(pfn)
285 unsigned long pfn;
290 pfn = mfn_to_pfn(mfn);
291 if (__pfn_to_mfn(pfn) != mfn)
293 return pfn;