stdlib: Create the AbstractSystemBoard

In the prior design the AbstractBoard inherited from System. This was
fine for the X86Board and RISCVBoard, but was causing problems for the
design of the ARMBoard which must inherit from ArmSystem (which itself
inherits from System).

This new design removes the System inheritance from AbstractBoard, and
creates a new "AbstractSystemBoard" class which inherits from both
AbstractBoard and System. This allows for the creation of an ArmBoard
which inherits from both AbstractBoard and Arm System.

Change-Id: I3831f2ebe61e4adfb9dc10b7790b39403a99beaa
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/58909
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
This commit is contained in:
Bobby R. Bruce
2022-04-15 12:53:46 -07:00
committed by Kaustav Goswami
parent 2643f3c4ee
commit 1d93e72f2b
7 changed files with 103 additions and 45 deletions

View File

@@ -39,6 +39,8 @@ PySource('gem5.simulate', 'gem5/simulate/exit_event_generators.py')
PySource('gem5.components', 'gem5/components/__init__.py')
PySource('gem5.components.boards', 'gem5/components/boards/__init__.py')
PySource('gem5.components.boards', 'gem5/components/boards/abstract_board.py')
PySource('gem5.components.boards',
'gem5/components/boards/abstract_system_board.py')
PySource('gem5.components.boards', 'gem5/components/boards/mem_mode.py')
PySource('gem5.components.boards', 'gem5/components/boards/riscv_board.py')
PySource('gem5.components.boards.experimental',