On Fri, Mar 16, 2007 at 10:26:55AM -0700, Jeremy Fitzhardinge wrote: > +#ifdef CONFIG_HIGHPTE > + .kmap_atomic_pte = native_kmap_atomic_pte, > +#else > + .kmap_atomic_pte = paravirt_nop, > +#endif This is ifdefing is quite ugly. Shouldn't native_kmap_atomic_pte just be a noop in the !CONFIG_HIGHPTE case? > -void *kmap_atomic(struct page *page, enum km_type type) > +void *_kmap_atomic(struct page *page, enum km_type type, pgprot_t prot) We normally call our "secial" function __foo, not _foo. But in this case it really should have a more meaningfull name like kmap_atomic_prot anyway. > +void *kmap_atomic(struct page *page, enum km_type type) > +{ > + return _kmap_atomic(page, type, kmap_prot); And this one should probably be an inline. > +static inline void *native_kmap_atomic_pte(struct page *page, enum km_type type) > +{ > + return kmap_atomic(page, type); > +} > + > +#ifndef CONFIG_PARAVIRT > +#define kmap_atomic_pte(page, type) kmap_atomic(page, type) > +#endif This is all getting rather ugly just for your pagetable hackery. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization