Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: checkpoint-working-paraflex #46

Closed
wants to merge 93 commits into from
Closed

Conversation

giorgioajmone
Copy link
Collaborator

@giorgioajmone giorgioajmone commented Jul 29, 2024

mostly adapted the checkpoint system to support para-flex. fixed a bug in the BTB init function that always initialize the set with 64 ways without considering the associativity

goshuh and others added 30 commits June 27, 2024 15:28
This is the single most important commit of the last 4 years.
This update the api and function that are called inside the 'core'
main loop, as well as the components. It was first authored for RISC-V.
This change has to be replicated on the Qemu side.

The code compile for TRACE and TIMING but was not tested.
Remove the initial definition of the target for RISC-V,
and add the header file for aarch64.
'boost_extension' contains files with source code
copy-pasted from the boost library itself, or that
extend the already existing definition. They were
removed and replaced by the official
latest boost library (1.84) api.
All compile error from using GCC-13 and boost 1.83 are fixed.
This also reinsert some debug output, while using some std
api instead of the boost ones.
This avoid a lot of leaking object because the
heap was never freed, also the object is more or
less staticaly used and could be replaced by a static class.
fix: inconsistant nameing of 'cores'
This bypass transform an uninitalized MMU into a perfect one.
The purpose of this change is to allow the uArch simulator to
keep processing cycles during boot time. That render flexus
unusable for Boot time experiments.
branylagaffe and others added 24 commits July 31, 2024 17:03
The integer value passed to the function
FLEXUS_start is used as an offset from the very
first instruction generated by QEMU
This is crucial to make QEMU advance alongside KnottyKraken
TAGE checkpointing fixed
feat: add BTB json ckpt (back)

Because of the modification brought by TAGE to the BTB,
it was necessary to work it out again.
This made all instruction directly fetched from the memory to have 0 has
opcode.
This issue apparead only during Release compilation
Co-authored-by: Bryan Perdrizat <[email protected]>
@branylagaffe
Copy link
Collaborator

Have you checked that it still can load KeenKraken ckpt (even the multicore ?)

@branylagaffe
Copy link
Collaborator

Was merged here 807bccf

@branylagaffe branylagaffe deleted the giorgio branch September 10, 2024 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants