-
Notifications
You must be signed in to change notification settings - Fork 65
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* change default ui term engine from pygments to rich * add EmuData orm object to save the emulator state * add save/restore commands in emul ui * implement callstack logic * add callstack frame in emul ui * add debug command in emul ui * add StructView class for structs pretty printing * fix x86 mmu_cache logic (flush & misses) * change default action from codeql to ruff * refactor code based on ruff checks
- Loading branch information
Axel Tillequin
committed
Jun 24, 2024
1 parent
6be7bbb
commit db73596
Showing
300 changed files
with
13,168 additions
and
9,758 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
name: Ruff | ||
on: [push, pull_request] | ||
jobs: | ||
ruff: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: chartboost/ruff-action@v1 | ||
with: | ||
args: 'check --config pyproject.toml' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
from .main import * | ||
from .main import * # noqa: F403 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,34 +4,34 @@ | |
# Copyright (C) 2006-2014 Axel Tillequin ([email protected]) | ||
# published under GPLv2 license | ||
|
||
from amoco.arch.arm.v7.asm import * | ||
|
||
# expose "microarchitecture" (instructions semantics) | ||
uarch = dict(filter(lambda kv: kv[0].startswith("i_"), locals().items())) | ||
|
||
from amoco.arch.core import instruction, disassembler | ||
|
||
instruction_armv7 = type("instruction_armv7", (instruction,), {}) | ||
instruction_armv7.set_uarch(uarch) | ||
from amoco.arch.arm.v7 import env | ||
from amoco.arch.arm.v7 import asm | ||
from amoco.arch.core import instruction, disassembler, CPU | ||
|
||
# define disassembler: | ||
from amoco.arch.arm.v7 import spec_armv7 | ||
from amoco.arch.arm.v7 import spec_thumb | ||
|
||
from amoco.arch.arm.v7.formats import ARM_V7_full | ||
|
||
instruction_armv7 = type("instruction_armv7", (instruction,), {}) | ||
instruction_armv7.set_formatter(ARM_V7_full) | ||
|
||
|
||
mode = lambda: internals["isetstate"] | ||
endian = lambda: 1 if internals["ibigend"] == 0 else -1 | ||
def mode(**kargs): | ||
return env.internals["isetstate"] | ||
|
||
|
||
def endian(**kargs): | ||
return 1 if env.internals["ibigend"] == 0 else -1 | ||
|
||
|
||
disassemble = disassembler([spec_armv7, spec_thumb], instruction_armv7, mode, endian) | ||
|
||
|
||
def PC(state=None): | ||
return pc_ | ||
class CPU_ARMv7(CPU): | ||
def get_data_endian(self): | ||
return 1 if env.internals["endianstate"] == 0 else -1 | ||
|
||
|
||
def get_data_endian(): | ||
return 1 if internals["endianstate"] == 0 else -1 | ||
cpu = CPU_ARMv7(env, asm, disassemble, env.pc_) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,30 +4,28 @@ | |
# Copyright (C) 2006-2014 Axel Tillequin ([email protected]) | ||
# published under GPLv2 license | ||
|
||
from amoco.arch.arm.v8.asm64 import * | ||
|
||
# expose "microarchitecture" (instructions semantics) | ||
uarch = dict(filter(lambda kv: kv[0].startswith("i_"), locals().items())) | ||
|
||
from amoco.arch.core import instruction, disassembler | ||
|
||
instruction_armv8 = type("instruction_armv8", (instruction,), {}) | ||
instruction_armv8.set_uarch(uarch) | ||
from amoco.arch.arm.v8 import env64 as env | ||
from amoco.arch.arm.v8 import asm64 | ||
from amoco.arch.core import instruction, disassembler, CPU | ||
|
||
# define disassembler: | ||
from amoco.arch.arm.v8 import spec_armv8 | ||
from amoco.arch.arm.v8.formats import ARM_V8_full | ||
|
||
instruction_armv8 = type("instruction_armv8", (instruction,), {}) | ||
instruction_armv8.set_formatter(ARM_V8_full) | ||
|
||
endian = lambda: 1 if internals["ibigend"] == 0 else -1 | ||
|
||
def endian(): | ||
return 1 if env.internals["ibigend"] == 0 else -1 | ||
|
||
|
||
disassemble = disassembler([spec_armv8], endian=endian, iclass=instruction_armv8) | ||
|
||
|
||
def PC(state=None): | ||
return pc | ||
class CPU_ARMv8(CPU): | ||
def get_data_endian(self): | ||
return 1 if env.internals["endianstate"] == 0 else -1 | ||
|
||
|
||
def get_data_endian(): | ||
return 1 if internals["endianstate"] == 0 else -1 | ||
cpu = CPU_ARMv8(env, asm64, disassemble, env.pc) |
Oops, something went wrong.