Re: [PATCH 02/05] Linux Kernel Markers, architecture independantcode.

From: Andrew Morton
Date: Thu Feb 15 2007 - 02:22:42 EST


On Sun, 11 Feb 2007 15:03:24 -0500 Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:

> Linux Kernel Markers, architecture independant code.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
>
> ...
>
> +
> +#ifndef MARK
> +#define MARK GEN_MARK
> +#define MARK_ENABLE_TYPE GEN_MARK_ENABLE_TYPE
> +#define MARK_ENABLE_IMMEDIATE_OFFSET GEN_MARK_ENABLE_IMMEDIATE_OFFSET
> +#endif

Also perhaps this nastiness can go away once each architecture has
asm/marker.h?

> +#ifdef MARK_POLYMORPHIC

What's this? Is it commented somewhere? (It should be...)

> +static int marker_set_ins_enable(void *address, char enable)
> +{
> +#ifdef CONFIG_X86_32
> + return arch_marker_set_ins_enable(address, enable);
> +#else
> + char newi[MARK_ENABLE_IMMEDIATE_OFFSET+1];
> + int size = MARK_ENABLE_IMMEDIATE_OFFSET+sizeof(MARK_ENABLE_TYPE);
> +
> + memcpy(newi, address, size);
> + MARK_ENABLE(&newi[0]) = enable;
> + memcpy(address, newi, size);
> + flush_icache_range((unsigned long)address, size);
> + return 0;
> +#endif //CONFIG_X86_32
> +}

eww. Can we put a suitable arch_marker_set_ins_enable() into each arch's
marker.h?

> +#else
> +static int marker_set_ins_enable(void *address, char enable)
> +{
> + return -EPERM;
> +}
> +#endif //MARK_POLYMORPHIC
> +
>
> ...
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/