Move to a model with a unified request object.
authorRon Dreslinski <rdreslin@umich.edu>
Fri, 7 Apr 2006 19:54:48 +0000 (15:54 -0400)
committerRon Dreslinski <rdreslin@umich.edu>
Fri, 7 Apr 2006 19:54:48 +0000 (15:54 -0400)
commit9e3d79694ca9e204bcbfa9c197db17b581dc7a29
treeb220b8a9bb0f1bfeff1c72cef2126c0af2a94a19
parent62ebe251dac998202403bea45ba69345dc5bf42d
Move to a model with a unified request object.
Constructor takes a bool to signify that it is either a cpu_request or not a cpu_request.
When accedding variables of a cpu_request it asserts that it is a cpu_request.
It also asserts that a value being read has been written at some point in time prior (not gaurnteeing it is up to date, but it was at least written before read).

There is also a isCpuReq() function to determine if this is a cpu_request.  It should be called before accesing a cpu_request only variable.

SConscript:
    Add compilation support for request.cc
arch/alpha/tlb.cc:
arch/alpha/tlb.hh:
cpu/cpu_exec_context.hh:
cpu/exec_context.hh:
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
dev/io_device.cc:
mem/page_table.cc:
mem/page_table.hh:
mem/port.cc:
    Update for unified request object and accessor functions.
mem/request.hh:
    Remove CpuRequest, make it a unified object.  Make variables private with accessor functions.

    May want to move things from .cc file into header (usually a assert() and either returning a value, or writting two).

--HG--
extra : convert_revision : f1e45cc490dadc7a418634539b03c3e72684a6e3
12 files changed:
SConscript
arch/alpha/tlb.cc
arch/alpha/tlb.hh
cpu/cpu_exec_context.hh
cpu/exec_context.hh
cpu/simple/cpu.cc
cpu/simple/cpu.hh
dev/io_device.cc
mem/page_table.cc
mem/page_table.hh
mem/port.cc
mem/request.hh