Hi Nikita, How about adding the following to tlb.h: #ifndef __tlb_remove_tables static void __tlb_remove_tables(...) { .... } #endif And then the few archs that want to override __tlb_remove_tables needs to do a #define __tlb_remove_tables __tlb_remove_tables static void __tlb_remove_tables(...) { ... } In this way the archs that uses the default implementation needs not do anything. A few functions already uses this pattern in tlb.h - see for example tlb_start_vma io.h is another file where you can see the same pattern. Sam