[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100615.101306.260078767.davem@davemloft.net>
Date: Tue, 15 Jun 2010 10:13:06 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: jbaron@...hat.com
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu,
mathieu.desnoyers@...ymtl.ca, hpa@...or.com, tglx@...utronix.de,
rostedt@...dmis.org, andi@...stfloor.org, roland@...hat.com,
rth@...hat.com, mhiramat@...hat.com, fweisbec@...il.com,
avi@...hat.com, vgoyal@...hat.com, sam@...nborg.org
Subject: Re: [PATCH 00/13] jump label v9
From: Jason Baron <jbaron@...hat.com>
Date: Tue, 15 Jun 2010 10:28:11 -0400
> For example, the reason I have it in the code is b/c x86 determines
> the best no-op at run-time. Are other architectures going to have to
> require this kind of functionality. Or like sparc, are we going to
> be able to generally hard-code the nops on non-x86 at compile-time?
I think most architectures will use a constant nop sequence, in fact
x86 is the only one I can think of that needs variable nop sequences.
Why not abstract this behind some asm/jump_label.h macro just like
everything else? "jump_label_text_poke_early()" or similar.
On sparc64 I would define this to:
#include <asm/system.h>
static inline void jump_label_text_poke_early(void *addr, const void *opcode, size_t len)
{
u32 new_insn = *(u32 *)opcode;
u32 *insn_p = (u32 *) addr;
*insn_p = new_insn;
flushi(insn_p);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists