-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Mips16 fix #2088
Closed
Closed
Mips16 fix #2088
Conversation
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
Add support for more Intel registers
Fix SPARC I0-7 registers write
… registers But print a warning instead
* Styling and commets fixes * Add errno API support * Improve OOP approach by adjusting the way reg types are selected * Leverage new approach to deduplicate reg_read and reg_write code * Adjust reg_read_batch * Add support for reg_write_batch * Adjust x86 MSR accessors * Turn asserts into descriptive exceptions * Improve comments and styling * Fix ARM memcpy neon regression test * Modify canonicals import * Introduce ARM CP reg accessors
* Allow Uc subclasses to use additional constructor args * Add missing conext reg write batch prorotype * Sort uc prototypes for better readability * Redefine internal C API structures * Add ctypes alises to improve readability * Added documentation for ctl methods * Added ctl tcg buffer size accessors * Fix tcg buffer size return type
* Fix Python regression test suite (partial) * Fix Python regression test suite * Add a test for mapping at high addresses * Add ctl tests
* Fix erronous method name * Uncomment known failures * Opportunistic improvements
* optimize ram block handling Save the last element of the ram_list. This allows to faster find where to add new elements when they are not bigger then page size. * save ram_list freed this keeps the optimization for find_ram_offset() intact after snapshot restore. * cow only clear the tlb of affected pages * update flatview when possible Building each flatview new when the memory has changed is quite expensive when many MemoryRegions are used. This is an issue when using snapshots. * update benchmark for new api * save flatview in context this avoids rebuilding the flatview when restore a context. * init context flatview with zero * address_space_dispatch_clear remove subpage with higher priority * docutemnt the options for UC_CTL_CONTEXT_MODE Specialy stress that with UC_CTL_CONTEXT_MEMORY it is not possible to use the context with a different unicorn object.
Some structs, specically CPUARMState is 16-bytes aligned. This causes segment fault because gcc tends to vectorize the assignment of the struct with infamous movaps tricks. Without this patch, we fail on manylinux with 2.17 glibc in release mode in i686. qemu_memalign will ensure the alignment across platforms.
…ine#2026) * Python bindings: Make the test scripts handy for pytest * Python bindings: Update MANIFEST.in with new paths * Update .gitignore to exclude PyCharm-related files/folders * Python bindings: Update CMakeLists.txt in order to set CMAKE_OSX_ARCHITECTURES var * Python bindings: - Moved project package settings to the new TOML format - Refactored setup.py to cleanup/improve the code and make it ready for cibuildwheel - Updated README.md with the package long description part - Removed setup.cfg since universal wheel building will be deprecated soon * Python bindings: - Replaced old PyPI-publishing.yml workflow with brand-new one based on cibuildwheel - Removed old building scripts * Replaced macos-12 runner with macos-13 since it will be removed soon * Python bindings: Specify SYSTEM_VERSION_COMPAT=0 env var for macos-13 x86_64 runner as per cibuildwheel warning message * Python bindings: Enable i686 for debugging * Python bindings: Enable DEBUG flag according to the presence of tag release * Python bindings: Added matrix to cover i686 manylinux/musllinux builds * Python bindings: - Replaced macos-14 runner with macos-latest - Bumped cibuildwheel GitHub action to 2.21.3 version * Python bindings: - Adapt test_uc_ctl_tb_cache test to the recent changes - Fixed typos - PEP8 fixes * GitHub Action Workflow: Introduce BUILD_TYPE env var to select build type according to the presence of tag release --------- Co-authored-by: mio <[email protected]>
…orn-engine#2034) * Python bindings: Fix upload-artifact actions * Github Action: Enable workflow_dispatch to manually trigger jobs to produce either Debug or Release builds
* Support TLB fill hooks * Improve consistency among structure names
* instruction hooks for RDTSC and RDTSCP Signed-off-by: Pedro Tôrres <[email protected]> * update hookable instruction list Signed-off-by: Pedro Tôrres <[email protected]> * test RDTSC and RDTSCP instruction hooks Signed-off-by: Pedro Tôrres <[email protected]> --------- Signed-off-by: Pedro Tôrres <[email protected]> Co-authored-by: mio <[email protected]>
* unset -L and -rpath from CGO_LDFLAGS Signed-off-by: Pedro Tôrres <[email protected]> * allow go statically linking Signed-off-by: Pedro Tôrres <[email protected]> * fix setup.py --------- Signed-off-by: Pedro Tôrres <[email protected]> Co-authored-by: mio <[email protected]>
- Added fullMode input in workflow_dispatch - Take decision whether to build either in debug or release mode and if to build for all python versions according to the commit message patterns - Set proper artifact names - Removed not needed steps - Compacted some steps in order to leverage more the matrix feature - Bumped cibuildwheel action to 2.22.0 - Run actual regress tests in place of sample scripts - Specify optional test install in pyproject.toml with proper requirements - Derive package version from git tags - Add GENERATORS env var support in setup.py to specify cmake generator and minor refactoring - Minor cleanup/refactoring for the regress test suite - Marked some regress tests with skipIf to skip them in case of old python versions - Marked some failing regress tests to be checked with skipIf
…gine#2063) * patch multiple UC_HOOK_MEM callbacks for unaligned access * update test_x86.c for unicorn-engine#2063 * update test_x86.c for build on win --------- Co-authored-by: [email protected] <[email protected]> Co-authored-by: lazymio <[email protected]>
We shall only go through the else branch for code_read
Co-authored-by: lazymio <[email protected]>
This shall also improve performance Fix unicorn-engine#2001
* qemu/tcg: fix UC_HOOK_MEM_READ on aarch64. Directly jump into the slow path when there is any hookmem enabled. This fixes unicorn-engine#1908. Signed-off-by: Glenn Baker <[email protected]> * qemu/tcg: fix UC_HOOK_MEM_READ on ppc64. Directly jump into the slow path when there is any hookmem enabled. Signed-off-by: Glenn Baker <[email protected]> * qemu/tcg: check for UC_HOOK_MEM_READ_AFTER. Use has_hookmem() helper to determine wether "slow-path" TLB read is needed. Add this helper to x86 architecture as well so that to check for all hookmem. Signed-off-by: Glenn Baker <[email protected]> * qemu/tcg: factor out has_hookmem(). It's the same implementation for all architectures, so factor out has_hookmem() into tcg_uc_has_hookmem(). Signed-off-by: Glenn Baker <[email protected]> --------- Signed-off-by: Glenn Baker <[email protected]>
Co-authored-by: Sai Cao <[email protected]>
…e#2085) for glibc, if _GNU_SOURCE is defined, <time.h> will include <sys/timex.h> but not for musl, so add "#include <sys/timex.h>" although `man clock_adjtime` said "#include <sys/timex.h>", but it won't work for glibc w/o "#include <time.h>", I don't known why yet. PS it seems clock_adjtime is used nowhere? Signed-off-by: Z. Liu <[email protected]>
This adds an extra op to translator to allow the block hook sync pc in the very begining
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix for issue #2086 on dev branch