EIO is Alpha only right now and will almost certainly remain so... not
because you couldn't port it to other ISAs, but if we decided we did
want to have an ISA-independent EIO-like capability we'd almost
certainly develop something else from scratch.  The actual EIO code is
really there only for SimpleScalar compatibility.  Note that M5
doesn't even generate EIO traces; you have to use ones that were
generated with SS.  Not to mention that we'd want to have something
that could live in our tree and not be encumbered.

So in short I think we're safe hard-coding Alpha stuff into EIO.

Steve

2008/11/4 Lisa Hsu <[EMAIL PROTECTED]>:
> It happens in AlphaLiveProcess.  I had the inclination that EIO is only
> Alpha capable, I think I saw it on our wiki.  Is that inherent or just the
> way it is because we just don't have it for something else?  I'm not sure
> we'll develop eio for non-alpha anyway.  But if people object, let me know,
> I had an alternate fix that resides within the AlphaTLB only.
>
> Lisa
>
> On Tue, Nov 4, 2008 at 11:04 PM, Gabe Black <[EMAIL PROTECTED]> wrote:
>>
>> Actually not if the EIO process object is generic. Where would this
>> normally happen for a live process? In a subclass? I'm really surprised
>> I don't remember... It's been a while :)
>>
>> Gabe
>>
>> Gabe Black wrote:
>> > This might be a reasonable fix for the immediate term, but I don't think
>> > eio is limited to Alpha. A more appropriate place for this is probably
>> > in the EIO process object constructor.
>> >
>> > Gabe
>> >
>> > [EMAIL PROTECTED] wrote:
>> >
>> >> changeset 2c7b9d01d542 in /z/repo/encumbered
>> >> details:
>> >> http://repo.m5sim.org/encumbered?cmd=changeset;node=2c7b9d01d542
>> >> summary: fix multicore eio.
>> >>
>> >> diffstat:
>> >>
>> >> 0 files changed
>> >>
>> >> diffs (25 lines):
>> >>
>> >> diff -r 25ae7c9393d9 -r 2c7b9d01d542 eio/eio.cc
>> >> --- a/eio/eio.cc     Tue Nov 04 11:40:05 2008 -0500
>> >> +++ b/eio/eio.cc     Tue Nov 04 21:55:49 2008 -0500
>> >> @@ -71,6 +71,7 @@
>> >>  // field name in eval.h.
>> >>  #include "eio/libexo.h"
>> >>
>> >> +using namespace AlphaISA;
>> >>  using namespace std;
>> >>
>> >>  static struct {
>> >> @@ -650,6 +651,13 @@
>> >>      eio_close(chkpt_fd);
>> >>      chkpt_fd = NULL;
>> >>      }
>> >> +    ThreadContext *tc = system->getThreadContext(contextIds[0]);
>> >> +    //Operate in user mode
>> >> +    tc->setMiscRegNoEffect(IPR_ICM, 0x18);
>> >> +    //No super page mapping
>> >> +    tc->setMiscRegNoEffect(IPR_MCSR, 0);
>> >> +    //Set this to 0 for now, but it should be unique for each process
>> >> +    tc->setMiscRegNoEffect(IPR_DTB_ASN, M5_pid << 57);
>> >>  }
>> >>
>> >>
>> >> _______________________________________________
>> >> m5-dev mailing list
>> >> m5-dev@m5sim.org
>> >> http://m5sim.org/mailman/listinfo/m5-dev
>> >>
>> >>
>> >
>> > _______________________________________________
>> > m5-dev mailing list
>> > m5-dev@m5sim.org
>> > http://m5sim.org/mailman/listinfo/m5-dev
>> >
>>
>> _______________________________________________
>> m5-dev mailing list
>> m5-dev@m5sim.org
>> http://m5sim.org/mailman/listinfo/m5-dev
>>
>
>
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to