[ORLinux] l.mac* instructions
King, Samuel Talmadge
kingst at illinois.edu
Tue Jul 5 15:43:22 CEST 2011
My understanding was that in the current implementation the two MAC SPRs were updated before completing the mac and maci instructions. I have included Matt Hicks in this email, he has been looking at the MAC hardware in detail and a few of the bugs that have shown up in it, hopefully he can shed some light.
On Jul 3, 2011, at 1:43 AM, Jonas Bonn wrote:
> 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.
> 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
>> Signed-off-by: Sam King <kingst at illinois.edu>
More information about the Linux