[ORLinux] l.mac* instructions

Jonas Bonn jonas at southpole.se
Sun Jul 3 08:43:30 CEST 2011


Hi Sam,

The patch looks good.  Thanks.

Noting that you put the register save/restore into the exception
handling hot path, I began to dig into the arch spec for this
instruction and a couple of questions came up:

i)  The spec refers to "synchronize-mac"... how is this handled across
an exception?

ii)  Does the MAC pipeline need to be "synchronized" before
saving/restoring its state in an exception handler?

iii)  Is l.macrc the only way to "synchronize"?  We lose the high word
when we do so...

iv)  Is a sequence of MAC instructions even interruptible?

The spec doesn't really seem to make this clear.  Hopefully, somebody
else can shine some light on this.

/Jonas

On Fri, 2011-07-01 at 22:47 +0000, King, Samuel Talmadge wrote:
> Hi Jonas,
> 
> I am still getting used to git and I made a mistake -- the version I sent below was wrong.  Here is an updated version that is correct, has a more meaningful comment, mentions the three instructions explicitly in the Kconfig help item, and excludes all of the whitespace changes:
> 
> From 66ff477fb545cf088c3b70e2e2d775659b5951e5 Mon Sep 17 00:00:00 2001
> From: Sam King <kingst at illinois.edu>
> Date: Fri, 1 Jul 2011 17:27:45 -0500
> Subject: [PATCH 2/2] Added support for storing the MAC as part of a thread's context.
>  Added machi and maclo to pt_regs and added code for saving and
>  restoring these values on the exception paths.  Added configuration
>  for specifying when these instructions are supported by an
>  implementation.
> 
> Signed-off-by: Sam King <kingst at illinois.edu>
> ---



More information about the Linux mailing list