2007-02-27 08:39:31

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

akpm:
> Can we lose __HAVE_ARCH_MM_LIFETIME? Just define these (preferably in C,
> not in cpp) in the appropriate include/asm-foo/ files?

Signed-off-by: Jeremy Fitzhardinge <[email protected]>
Cc: [email protected]

---
include/asm-alpha/mmu_context.h | 9 +++++++++
include/asm-arm/mmu_context.h | 9 +++++++++
include/asm-arm26/mmu_context.h | 9 +++++++++
include/asm-avr32/mmu_context.h | 9 +++++++++
include/asm-cris/mmu_context.h | 8 ++++++++
include/asm-frv/mmu_context.h | 8 ++++++++
include/asm-h8300/mmu_context.h | 8 ++++++++
include/asm-i386/mmu_context.h | 2 +-
include/asm-i386/paravirt.h | 18 +++++++++++++++---
include/asm-ia64/mmu_context.h | 8 ++++++++
include/asm-m32r/mmu_context.h | 8 ++++++++
include/asm-m68k/mmu_context.h | 8 ++++++++
include/asm-m68knommu/mmu_context.h | 8 ++++++++
include/asm-mips/mmu_context.h | 8 ++++++++
include/asm-parisc/mmu_context.h | 9 +++++++++
include/asm-powerpc/mmu_context.h | 10 ++++++++++
include/asm-ppc/mmu_context.h | 9 +++++++++
include/asm-s390/mmu_context.h | 8 ++++++++
include/asm-sh/mmu_context.h | 8 ++++++++
include/asm-sh64/mmu_context.h | 8 ++++++++
include/asm-sparc/mmu_context.h | 8 ++++++++
include/asm-sparc64/mmu_context.h | 8 ++++++++
include/asm-um/mmu_context.h | 8 ++++++++
include/asm-v850/mmu_context.h | 8 ++++++++
include/asm-x86_64/mmu_context.h | 8 ++++++++
include/asm-xtensa/mmu_context.h | 9 +++++++++
include/linux/sched.h | 6 ------
mm/mmap.c | 1 +
28 files changed, 218 insertions(+), 10 deletions(-)

===================================================================
--- a/include/asm-alpha/mmu_context.h
+++ b/include/asm-alpha/mmu_context.h
@@ -256,4 +256,13 @@ enter_lazy_tlb(struct mm_struct *mm, str
#undef __MMU_EXTERN_INLINE
#endif

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
+
#endif /* __ALPHA_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-arm/mmu_context.h
+++ b/include/asm-arm/mmu_context.h
@@ -108,4 +108,13 @@ switch_mm(struct mm_struct *prev, struct
#define deactivate_mm(tsk,mm) do { } while (0)
#define activate_mm(prev,next) switch_mm(prev, next, NULL)

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
+
#endif
===================================================================
--- a/include/asm-arm26/mmu_context.h
+++ b/include/asm-arm26/mmu_context.h
@@ -48,4 +48,13 @@ static inline void activate_mm(struct mm
cpu_switch_mm(next->pgd, next);
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
+
#endif
===================================================================
--- a/include/asm-avr32/mmu_context.h
+++ b/include/asm-avr32/mmu_context.h
@@ -145,4 +145,13 @@ static inline void disable_mmu(void)
sysreg_write(MMUCR, SYSREG_BIT(MMUCR_S));
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
+
#endif /* __ASM_AVR32_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-cris/mmu_context.h
+++ b/include/asm-cris/mmu_context.h
@@ -21,4 +21,12 @@ static inline void enter_lazy_tlb(struct
{
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif
===================================================================
--- a/include/asm-frv/mmu_context.h
+++ b/include/asm-frv/mmu_context.h
@@ -46,4 +46,12 @@ do { \
do { \
} while(0)

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif
===================================================================
--- a/include/asm-h8300/mmu_context.h
+++ b/include/asm-h8300/mmu_context.h
@@ -28,4 +28,12 @@ static inline void activate_mm(struct mm
{
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif
===================================================================
--- a/include/asm-i386/mmu_context.h
+++ b/include/asm-i386/mmu_context.h
@@ -68,7 +68,7 @@ static inline void switch_mm(struct mm_s

#define activate_mm(prev, next) \
do { \
- arch_activate_mm(prev, next); \
+ paravirt_activate_mm(prev, next); \
switch_mm((prev),(next),NULL); \
} while(0);

===================================================================
--- a/include/asm-i386/paravirt.h
+++ b/include/asm-i386/paravirt.h
@@ -432,9 +432,8 @@ static inline void startup_ipi_hook(int
}
#endif

-#define __HAVE_ARCH_MM_LIFETIME
-static inline void arch_activate_mm(struct mm_struct *prev,
- struct mm_struct *next)
+static inline void paravirt_activate_mm(struct mm_struct *prev,
+ struct mm_struct *next)
{
paravirt_ops.activate_mm(prev, next);
}
@@ -695,5 +694,18 @@ static inline void paravirt_pagetable_se
#endif
}

+static inline void paravirt_activate_mm(struct mm_struct *prev,
+ struct mm_struct *next)
+{
+}
+
+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* CONFIG_PARAVIRT */
#endif /* __ASM_PARAVIRT_H */
===================================================================
--- a/include/asm-ia64/mmu_context.h
+++ b/include/asm-ia64/mmu_context.h
@@ -197,5 +197,13 @@ activate_mm (struct mm_struct *prev, str

#define switch_mm(prev_mm,next_mm,next_task) activate_mm(prev_mm, next_mm)

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
# endif /* ! __ASSEMBLY__ */
#endif /* _ASM_IA64_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-m32r/mmu_context.h
+++ b/include/asm-m32r/mmu_context.h
@@ -157,6 +157,14 @@ static inline void switch_mm(struct mm_s
#define enter_lazy_tlb(mm,tsk) do { } while (0)
#endif /* not CONFIG_MMU */

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* not __ASSEMBLY__ */

#endif /* __KERNEL__ */
===================================================================
--- a/include/asm-m68k/mmu_context.h
+++ b/include/asm-m68k/mmu_context.h
@@ -149,5 +149,13 @@ static inline void activate_mm(struct mm
activate_context(next_mm);
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif
#endif
===================================================================
--- a/include/asm-m68knommu/mmu_context.h
+++ b/include/asm-m68knommu/mmu_context.h
@@ -29,4 +29,12 @@ static inline void activate_mm(struct mm
{
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif
===================================================================
--- a/include/asm-mips/mmu_context.h
+++ b/include/asm-mips/mmu_context.h
@@ -293,4 +293,12 @@ drop_mmu_context(struct mm_struct *mm, u
local_irq_restore(flags);
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* _ASM_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-parisc/mmu_context.h
+++ b/include/asm-parisc/mmu_context.h
@@ -70,4 +70,13 @@ static inline void activate_mm(struct mm

switch_mm(prev,next,current);
}
+
+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif
===================================================================
--- a/include/asm-powerpc/mmu_context.h
+++ b/include/asm-powerpc/mmu_context.h
@@ -80,5 +80,15 @@ static inline void activate_mm(struct mm
}

#endif /* CONFIG_PPC64 */
+
+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
+
#endif /* __KERNEL__ */
#endif /* __ASM_POWERPC_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-ppc/mmu_context.h
+++ b/include/asm-ppc/mmu_context.h
@@ -197,5 +197,14 @@ static inline void switch_mm(struct mm_s

extern void mmu_context_init(void);

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
+
#endif /* __PPC_MMU_CONTEXT_H */
#endif /* __KERNEL__ */
===================================================================
--- a/include/asm-s390/mmu_context.h
+++ b/include/asm-s390/mmu_context.h
@@ -67,4 +67,12 @@ static inline void activate_mm(struct mm
set_fs(current->thread.mm_segment);
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* __S390_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-sh/mmu_context.h
+++ b/include/asm-sh/mmu_context.h
@@ -214,5 +214,13 @@ static inline void disable_mmu(void)
#define disable_mmu() do { BUG(); } while (0)
#endif

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* __KERNEL__ */
#endif /* __ASM_SH_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-sh64/mmu_context.h
+++ b/include/asm-sh64/mmu_context.h
@@ -203,6 +203,14 @@ enter_lazy_tlb(struct mm_struct *mm, str
{
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* __ASSEMBLY__ */

#endif /* __ASM_SH64_MMU_CONTEXT_H */
===================================================================
--- a/include/asm-sparc/mmu_context.h
+++ b/include/asm-sparc/mmu_context.h
@@ -35,6 +35,14 @@ BTFIXUPDEF_CALL(void, switch_mm, struct
/* Activate a new MM instance for the current task. */
#define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL)

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* !(__ASSEMBLY__) */

#endif /* !(__SPARC_MMU_CONTEXT_H) */
===================================================================
--- a/include/asm-sparc64/mmu_context.h
+++ b/include/asm-sparc64/mmu_context.h
@@ -147,6 +147,14 @@ static inline void activate_mm(struct mm
spin_unlock_irqrestore(&mm->context.lock, flags);
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* !(__ASSEMBLY__) */

#endif /* !(__SPARC64_MMU_CONTEXT_H) */
===================================================================
--- a/include/asm-um/mmu_context.h
+++ b/include/asm-um/mmu_context.h
@@ -74,6 +74,14 @@ static inline void destroy_context(struc
CHOOSE_MODE((void) 0, destroy_context_skas(mm));
}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif

/*
===================================================================
--- a/include/asm-v850/mmu_context.h
+++ b/include/asm-v850/mmu_context.h
@@ -8,4 +8,12 @@
#define activate_mm(prev,next) ((void)0)
#define enter_lazy_tlb(mm,tsk) ((void)0)

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
#endif /* __V850_MMU_CONTEXT_H__ */
===================================================================
--- a/include/asm-x86_64/mmu_context.h
+++ b/include/asm-x86_64/mmu_context.h
@@ -69,5 +69,13 @@ static inline void switch_mm(struct mm_s
#define activate_mm(prev, next) \
switch_mm((prev),(next),NULL)

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}

#endif
===================================================================
--- a/include/asm-xtensa/mmu_context.h
+++ b/include/asm-xtensa/mmu_context.h
@@ -131,4 +131,13 @@ static inline void enter_lazy_tlb(struct

}

+static inline void arch_dup_mmap(struct mm_struct *oldmm,
+ struct mm_struct *mm)
+{
+}
+
+static inline void arch_exit_mmap(struct mm_struct *mm)
+{
+}
+
#endif /* _XTENSA_MMU_CONTEXT_H */
===================================================================
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -374,12 +374,6 @@ struct mm_struct {
rwlock_t ioctx_list_lock;
struct kioctx *ioctx_list;
};
-
-#ifndef __HAVE_ARCH_MM_LIFETIME
-#define arch_activate_mm(prev, next) do {} while(0)
-#define arch_dup_mmap(oldmm, mm) do {} while(0)
-#define arch_exit_mmap(mm) do {} while(0)
-#endif

struct sighand_struct {
atomic_t count;
===================================================================
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -29,6 +29,7 @@
#include <asm/uaccess.h>
#include <asm/cacheflush.h>
#include <asm/tlb.h>
+#include <asm/mmu_context.h>

#ifndef arch_mmap_check
#define arch_mmap_check(addr, len, flags) (0)

--


2007-02-27 15:16:13

by James Bottomley

[permalink] [raw]
Subject: Re: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

On Tue, 2007-02-27 at 00:13 -0800, Jeremy Fitzhardinge wrote:
> plain text document attachment (kill-HAVE_ARCH_MM_LIFETIME.patch)
> akpm:
> > Can we lose __HAVE_ARCH_MM_LIFETIME? Just define these (preferably in C,
> > not in cpp) in the appropriate include/asm-foo/ files?
>
> Signed-off-by: Jeremy Fitzhardinge <[email protected]>
> Cc: [email protected]
>
> ---
> include/asm-alpha/mmu_context.h | 9 +++++++++
> include/asm-arm/mmu_context.h | 9 +++++++++
> include/asm-arm26/mmu_context.h | 9 +++++++++
> include/asm-avr32/mmu_context.h | 9 +++++++++
> include/asm-cris/mmu_context.h | 8 ++++++++
> include/asm-frv/mmu_context.h | 8 ++++++++
> include/asm-h8300/mmu_context.h | 8 ++++++++
> include/asm-i386/mmu_context.h | 2 +-
> include/asm-i386/paravirt.h | 18 +++++++++++++++---
> include/asm-ia64/mmu_context.h | 8 ++++++++
> include/asm-m32r/mmu_context.h | 8 ++++++++
> include/asm-m68k/mmu_context.h | 8 ++++++++
> include/asm-m68knommu/mmu_context.h | 8 ++++++++
> include/asm-mips/mmu_context.h | 8 ++++++++
> include/asm-parisc/mmu_context.h | 9 +++++++++
> include/asm-powerpc/mmu_context.h | 10 ++++++++++
> include/asm-ppc/mmu_context.h | 9 +++++++++
> include/asm-s390/mmu_context.h | 8 ++++++++
> include/asm-sh/mmu_context.h | 8 ++++++++
> include/asm-sh64/mmu_context.h | 8 ++++++++
> include/asm-sparc/mmu_context.h | 8 ++++++++
> include/asm-sparc64/mmu_context.h | 8 ++++++++
> include/asm-um/mmu_context.h | 8 ++++++++
> include/asm-v850/mmu_context.h | 8 ++++++++
> include/asm-x86_64/mmu_context.h | 8 ++++++++
> include/asm-xtensa/mmu_context.h | 9 +++++++++
> include/linux/sched.h | 6 ------
> mm/mmap.c | 1 +
> 28 files changed, 218 insertions(+), 10 deletions(-)

Wouldn't it be a lot easier to do this via asm-generic?

James


2007-02-27 17:21:17

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

James Bottomley wrote:
> On Tue, 2007-02-27 at 00:13 -0800, Jeremy Fitzhardinge wrote:
>
>> plain text document attachment (kill-HAVE_ARCH_MM_LIFETIME.patch)
>> akpm:
>>
>>> Can we lose __HAVE_ARCH_MM_LIFETIME? Just define these (preferably in C,
>>> not in cpp) in the appropriate include/asm-foo/ files?
>>>
>> Signed-off-by: Jeremy Fitzhardinge <[email protected]>
>> Cc: [email protected]
>>
>> ---
>> include/asm-alpha/mmu_context.h | 9 +++++++++
>> include/asm-arm/mmu_context.h | 9 +++++++++
>> include/asm-arm26/mmu_context.h | 9 +++++++++
>> include/asm-avr32/mmu_context.h | 9 +++++++++
>> include/asm-cris/mmu_context.h | 8 ++++++++
>> include/asm-frv/mmu_context.h | 8 ++++++++
>> include/asm-h8300/mmu_context.h | 8 ++++++++
>> include/asm-i386/mmu_context.h | 2 +-
>> include/asm-i386/paravirt.h | 18 +++++++++++++++---
>> include/asm-ia64/mmu_context.h | 8 ++++++++
>> include/asm-m32r/mmu_context.h | 8 ++++++++
>> include/asm-m68k/mmu_context.h | 8 ++++++++
>> include/asm-m68knommu/mmu_context.h | 8 ++++++++
>> include/asm-mips/mmu_context.h | 8 ++++++++
>> include/asm-parisc/mmu_context.h | 9 +++++++++
>> include/asm-powerpc/mmu_context.h | 10 ++++++++++
>> include/asm-ppc/mmu_context.h | 9 +++++++++
>> include/asm-s390/mmu_context.h | 8 ++++++++
>> include/asm-sh/mmu_context.h | 8 ++++++++
>> include/asm-sh64/mmu_context.h | 8 ++++++++
>> include/asm-sparc/mmu_context.h | 8 ++++++++
>> include/asm-sparc64/mmu_context.h | 8 ++++++++
>> include/asm-um/mmu_context.h | 8 ++++++++
>> include/asm-v850/mmu_context.h | 8 ++++++++
>> include/asm-x86_64/mmu_context.h | 8 ++++++++
>> include/asm-xtensa/mmu_context.h | 9 +++++++++
>> include/linux/sched.h | 6 ------
>> mm/mmap.c | 1 +
>> 28 files changed, 218 insertions(+), 10 deletions(-)
>>
>
> Wouldn't it be a lot easier to do this via asm-generic?
>

You mean add the two stubs to asm-generic/mmu_context.h, and then
include that in all these files? That would be cleaner, but it wouldn't
remove the need to touch all these files, would it?

J

2007-02-27 17:35:49

by James Bottomley

[permalink] [raw]
Subject: Re: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

On Tue, 2007-02-27 at 09:21 -0800, Jeremy Fitzhardinge wrote:
> You mean add the two stubs to asm-generic/mmu_context.h, and then
> include that in all these files? That would be cleaner, but it
> wouldn't
> remove the need to touch all these files, would it?

it would if you added asm-generic/mmu_context_paravirt.h

and only included that in the main kernel files that need the three
operations (that's just fork.c and mmap.c, isn't it)?

James


2007-02-27 17:56:42

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

James Bottomley wrote:
> On Tue, 2007-02-27 at 09:21 -0800, Jeremy Fitzhardinge wrote:
>
>> You mean add the two stubs to asm-generic/mmu_context.h, and then
>> include that in all these files? That would be cleaner, but it
>> wouldn't
>> remove the need to touch all these files, would it?
>>
>
> it would if you added asm-generic/mmu_context_paravirt.h
>

include/asm-generic isn't in the compile include path; its contents are
only ever used if they're explicitly included by some other asm/
header. I seem to remember there was some debate about this, but I
don't really understand the rationale for the current arrangement; it
makes sense to me to have asm-generic as a set of fallback default includes.

> and only included that in the main kernel files that need the three
> operations (that's just fork.c and mmap.c, isn't it)?
>

Yeah, it's really only two operations. activate_mm happens in arch code
anyway, so there's no need to make a fuss about it.

J

2007-02-27 18:05:21

by James Bottomley

[permalink] [raw]
Subject: Re: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

On Tue, 2007-02-27 at 09:56 -0800, Jeremy Fitzhardinge wrote:
> include/asm-generic isn't in the compile include path; its contents are
> only ever used if they're explicitly included by some other asm/
> header. I seem to remember there was some debate about this, but I
> don't really understand the rationale for the current arrangement; it
> makes sense to me to have asm-generic as a set of fallback default includes.

Yes ... I forgot about that ... we'd need an asm/mmu_context_paravirt.h
on every arch.

I suppose this is just me being lazy ... I'm currently doing a bit of a
rewrite in asm-parisc/mmu_context.h and I didn't want a massive merge
conflict.

James


2007-02-27 18:48:44

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

James Bottomley wrote:
> Yes ... I forgot about that ... we'd need an asm/mmu_context_paravirt.h
> on every arch.
>

Yep. And I'm not too keen on that name; one could imagine other uses
for those hooks, even if they're being used for x86 paravirtualization
in this instance.

> I suppose this is just me being lazy ... I'm currently doing a bit of a
> rewrite in asm-parisc/mmu_context.h and I didn't want a massive merge
> conflict.
>

Well, I'm happy to create asm-generic/mm_hooks.h or something, and
reduce all the changes to asm-*/mmu_context.h to a one-liner.

J

2007-02-27 18:54:33

by James Bottomley

[permalink] [raw]
Subject: Re: [patch 09/26] Xen-paravirt_ops: remove HAVE_ARCH_MM_LIFETIME, define no-op architecture implementations

On Tue, 2007-02-27 at 10:48 -0800, Jeremy Fitzhardinge wrote:
> Well, I'm happy to create asm-generic/mm_hooks.h or something, and
> reduce all the changes to asm-*/mmu_context.h to a one-liner.

If no-one else objects, that will certainly make my life easier, thanks!

James