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

[pull] master from cvut:master #3

Open
wants to merge 92 commits into
base: master
Choose a base branch
from
Open

[pull] master from cvut:master #3

wants to merge 92 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Feb 17, 2024

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Feb 17, 2024
jdupak and others added 19 commits February 17, 2024 23:30
Include of nonexistent file would cause segfault.

Co-authored-by: Matej Kafka <[email protected]>
Otherwise libelf does not compile on Windows without MinGW, because it tries to use `ftruncate`, which is POSIX.
TODO: Polyfill POSIX APIs used in os_emulation
Emulate POSIX syscalls using the "Low-Level I/O" API provided by CRT, which closely matches the POSIX semantics.

TODO: test this, especially check if errno values are POSIX
Some files still incorrectly referenced QtMips instead of QtRvSim.

Signed-off-by: Michal Lenc <[email protected]>
Empty relocations are a result of syntax error
Useful when saving a series of core diagram images.
ppisa and others added 22 commits August 26, 2024 21:09
…edictor'

 - fence.i instrukction will now cause predictor to flush BTB rows and BHT states
 - Even instructions which are Not Taken are added into BTB and updated into BHT
 - Unconditional jumps now have a flag in BTB and do not trigger BHT
 - Added 3rd predictor widget with additional information not directly related to BHT and BTB
 - Added new statistic counting total encountered branch instructions and pipeline flushes
 - Restructured predictor and GUI code
Suggested by Bo YU yuzibo

Signed-off-by: Pavel Pisa <[email protected]>
…h off by presets

The predictor configuration should be exactly defined for each
present. Whench chnaged presets page should switch to the custom choice.

The logic is implemented now. The switch2custom prevents its
own (possibly infinite) recursion. The switch2custom calls
are guarded by condition to check for the change.

Because labda(s) with if statements are quite complex,
they are moved to functions named descriptively.
BHT computed parameters redundant update code has
been unified into new function.

Signed-off-by: Pavel Pisa <[email protected]>
Signed-off-by: Pavel Pisa <[email protected]>
The peripheral memory ranges aliases at the high addresses
(0xffxxxxxx -> 0xffffffffffxxxxxx) solve peripherals access
from code compiled by internal assembler which can generate
only 32-bit LI and LA pseudoinstructions (LUI/AUIPC + ADD).
In the real operating system, the peripherals would be mapped
to the kernel/upper half of address space as well.

The solution is not elegant but allows to use template.S
and other examples in XLEN=64 (RV64IMA) mode.
Placement of peripherals under 2 GiB limit would be probably
simpler but we have been inspired by SPIM and QtMips
and usual 32-bit systems memory map organization.

Signed-off-by: Pavel Pisa <[email protected]>
…uired

This is experiment to propose solution of hard to navigate list of tab topics.

It is related to issue

New dialog tab/page selection rework #150

Signed-off-by: Pavel Pisa <[email protected]>
It is related to issue

New dialog tab/page selection rework #150

Signed-off-by: Pavel Pisa <[email protected]>
This is an attempt to make navigation in the "New" dialog
easier and allow its future expansion even with more
configuration pages where tabs and tab top-level bookmarks
are hard to navigate.

Closes #150
…h full GNU tool-chain

The included examples can be build by full featured GNU toolchain
directly without modifications

riscv64-unknown-elf-gcc -march=rv32ima -mabi=ilp32 template-os.S -nostartfiles -nostdlib

riscv64-unknown-elf-gcc -march=rv64ima -mabi=lp64 template-os.S -nostartfiles -nostdlib

Signed-off-by: Pavel Pisa <[email protected]>
…lti-byte characters to prevent heap overflows
Avoid using time every clock cycle when it is not needed.
Amortize running QTimer at max speed.
Exit needs special handling because otherwise,
the core will keep running.
For gui, this will be hidden under clicking latency.
… and Qt5 libraries are present

Change fixes issue #156 Build with specified specified QT_VERSION_MAJOR=6
fails on Debian and probably other systems when Qt5 is installed

Signed-off-by: Pavel Pisa <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⤵️ pull merge-conflict Resolve conflicts manually
Projects
None yet
Development

Successfully merging this pull request may close these issues.