mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-11-29 21:44:11 +03:00
82640e7a4b
* riscv: added grift as submodule
* added macaw-riscv project
* make arch polykinded everywhere in macaw base
* stubbed out riscv_info
* update grift
* started on RISCVReg
* started on RISCVReg
* RegisterInfo instance for RISCVReg (a few unimplemented fields)
* filled out archRegSet
* filled out withArchConstraints, archAddrWidth, and archEndianness
* added Arch module
* RISCV initialBlockRegs
* preliminary work on disassembleFn
* wip: disassembleFn
* made things more lens-y
* wip: disassemble instruction
* finished disassembly of grift assignment statements
* separated out DisInstM into separate module
* disassembly wip
* finished disassembleBlock
* Finished riscvDisassembleFn
* bump grift submodule
* made macaw discovery poly-kinded
* added risc-v test suite
* added risc-v test suite
* fixed macaw semantics to hardware x0 to constant value 0
* added riscvPreserveReg based on assembler's manual
* riscvDemandContext
* successfully disassembled a block!
* enhanced tests to allow optional entry point spec
* stubbed out identifyCall
* stubbed out identifyReturn
* passing initial test
* added checkForReturnAddr stub
* fleshed out identifyCall and identifyReturn
* update grift submodule
* bug fix and exception handling
* added EXC register, which tracks whether or not we've attempted to
read from/write to any system registers.
* Replaced custom CSR type with GRIFT's (but we're not using it
currently)
* added better show instance for GPRs we should migrate this to a
GRIFT pretty printer at some point)
* Fixed a vicious bug in the semantics; unsigned and signed LT were
getting swapped in translation
* added pattern synonyms for GPRs
* improved docs and fixed RISCVReg bug (GP was 3 instead of 4)
* changed undefineds to errors
* changed RISCV class to RISCVConstraints
* wrapped GRIFT's "RV" parameter in a type to remove the need to make
macaw architecture parameter polykinded
* rolled back all changes to macaw base that made things poly-kinded
* reverted two more macaw core changes, updated license, removed old PPC test
* macaw: update to upstream changes in bv-sized and grift
* address code review comments
* macaw-riscv: expose fewer modules
* Update RISCVTermStmt definition
* Update riscv_info. macaw-riscv now builds against master
* Update bv-sized and cabal freeze files
* Update cabal freeze files with satisfying lens version
* Get tests building
* Fix printf runtime error
* Add simpler tests
* Change RISCV target version and update grift pointer
[skip ci]
* Compressed branch test passes
[skip ci]
* Add additional small tests
[skip ci]
* Introduce a syscall PrimFn
* Syscalls now correctly classified
* Fix return regs from syscall
* Extract syscall arguments
* Update expected riscv test results
* Add macaw-riscv build + test to CI
* Get building with GHC 9.0.2
* Revert "Update cabal freeze files with satisfying lens version"
This reverts commit 4aa95c19c3
.
* Install softfloat in CI
* Update Grift
* Some initial cleanup
* More cleanup
* Resolve FIXME on getReg
* Detect and only accept rv64gc rvreprs
* Address Tristan's PR comments
* Update Grift pointer
* Add info on installing Softfloat to README for macaw-riscv
* Add missing submodule step to softfloat build instructions
Co-authored-by: Ben Selfridge <benselfridge@000279.local>
Co-authored-by: Valentin Robert <val@galois.com>
66 lines
1.9 KiB
Plaintext
66 lines
1.9 KiB
Plaintext
name: macaw-riscv
|
|
version: 0.1.0.0
|
|
-- synopsis:
|
|
-- description:
|
|
license: BSD3
|
|
license-file: LICENSE
|
|
author: Ben Selfridge
|
|
maintainer: benselfridge@galois.com
|
|
-- copyright:
|
|
category: Semantics
|
|
build-type: Simple
|
|
extra-source-files: ChangeLog.md
|
|
cabal-version: >=1.10
|
|
|
|
library
|
|
exposed-modules: Data.Macaw.RISCV
|
|
other-modules: Data.Macaw.RISCV.Arch
|
|
Data.Macaw.RISCV.Disassemble
|
|
Data.Macaw.RISCV.Disassemble.Monad
|
|
Data.Macaw.RISCV.Eval
|
|
Data.Macaw.RISCV.Identify
|
|
Data.Macaw.RISCV.RISCVReg
|
|
build-depends: base >=4.9 && <5,
|
|
ansi-wl-pprint,
|
|
bv-sized,
|
|
bytestring,
|
|
containers,
|
|
grift,
|
|
lens,
|
|
macaw-base,
|
|
mtl,
|
|
parameterized-utils,
|
|
prettyprinter,
|
|
text
|
|
hs-source-dirs: src
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall -Wcompat
|
|
|
|
test-suite macaw-riscv-tests
|
|
type: exitcode-stdio-1.0
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall
|
|
main-is: Main.hs
|
|
other-modules: RISCVTests
|
|
Shared
|
|
hs-source-dirs: tests
|
|
build-depends: base >=4.9 && <5,
|
|
binary,
|
|
bytestring,
|
|
containers,
|
|
elf-edit,
|
|
exceptions,
|
|
filemanip,
|
|
filepath,
|
|
grift,
|
|
lens,
|
|
macaw-base,
|
|
macaw-riscv,
|
|
macaw-loader,
|
|
parameterized-utils,
|
|
template-haskell,
|
|
temporary,
|
|
tasty,
|
|
tasty-hunit,
|
|
text
|