fastmodel: create base class for EVS CPU
authorEarl Ou <shunhsingou@google.com>
Mon, 1 Feb 2021 01:41:33 +0000 (09:41 +0800)
committerEarl Ou <shunhsingou@google.com>
Tue, 2 Feb 2021 01:07:19 +0000 (01:07 +0000)
commit16c1986fe2733de923a2e14ef3056d2f736d5c39
treeb42f72d87a008b9683031408caee07459653f307
parent7bb456f02408ee2c7078ef572aed46c4ee55d8cb
fastmodel: create base class for EVS CPU

Previously we use attribute and event for communication between gem5
SimObject to systemC fastmodel sc_module. Creating a base class allows us
to perform casting once and get all the interface required. Also,
instead of warning on attribute not found, we should make simulator
panic if the sc_module does not provide the interface we need.

Change-Id: I91e1036cb792d556dfc4010e7a0f138b1519b079
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40277
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/fastmodel/CortexA76/cortex_a76.cc
src/arch/arm/fastmodel/CortexA76/evs.cc
src/arch/arm/fastmodel/CortexA76/evs.hh
src/arch/arm/fastmodel/CortexR52/cortex_r52.cc
src/arch/arm/fastmodel/CortexR52/evs.cc
src/arch/arm/fastmodel/CortexR52/evs.hh
src/arch/arm/fastmodel/iris/cpu.cc
src/arch/arm/fastmodel/iris/cpu.hh