Flyinghead
5b2cef3fdd
dynarec: add negc and xtrct op codes
...
native implementation of negc and xtrct for x64 and arm64
rec-arm64: pass exception pc in w27 instead of sh4 context
inline mmu_intruction_translation() and clean up
2019-05-26 13:30:05 +02:00
Flyinghead
e7e387b443
wince: enable/disable vmem32 based on mmu state
2019-05-24 18:19:33 +02:00
Flyinghead
61a867e1ad
FPCB was only partially mprotected
2019-05-24 17:40:10 +02:00
Flyinghead
e3d95f2258
wince: unify _vmem and vmem32. Use 4GB virtual space on 64-bit arch
...
On 64-bit architectures, _vmem first tries to allocate 4GB then falls
back to 512 MB.
The same virtual space is now used by _vmem and vmem32 (mmu)
2019-05-23 11:40:33 +02:00
Flyinghead
c2c0215e1b
Merge remote-tracking branch 'origin/master' into fh/wince-dynarec
2019-05-22 14:13:00 +02:00
Flyinghead
fb76efb08d
Standard functions for virtual mem alloc/protect/map/...
2019-05-22 11:41:12 +02:00
David Guillen Fandos
65e2218792
Fix ARM64 rewrites with NO_RWX_PAGES
...
Tested on nvidia jetson and Android, so far works great.
2019-05-13 00:23:18 +02:00
David Guillen Fandos
aa4fc8dd60
Move cache invalidation to vmem_platform and implement NO_RWX on arm64
...
Still not functional yet, this commit breaks arm64 on android for instance.
Rewrites are not yet figured out, will push them in the next commit.
2019-05-12 23:25:43 +02:00
David Guillen Fandos
3b760f9869
Add FEAT_NO_RWX_PAGES and implement it for x64 CPU (Win and Linux)
...
Tested: Both with and without the feature, works only for x64 CPUs for
now, but supported in both windows and linux (see vmem implementation
for it, using mem-mapped files).
2019-05-12 22:02:57 +02:00
David Guillen Fandos
1a2b1c8672
Remove traces of memory manager from Jit driver.
...
Still stuff to be removed in the Naomi file handler and the ARM
AREC, which need to get ported to the new vmem interface.
2019-05-12 19:47:11 +02:00
Flyinghead
15ce3ab5fa
OSX build fixes
2019-05-12 16:53:30 +02:00
David Guillen Fandos
55e7c17030
Fix minor build issue with madvise flags.
2019-05-12 13:40:18 +02:00
David Guillen Fandos
b74db6ef53
Moving vmem to separate files with a proper interface.
...
Works so far for Linux and Android, need to do some testing on Windows.
2019-05-11 22:09:52 +02:00
David Guillen Fandos
be1ecbaa8b
Fix TARGET_NO_NVMEM and deprecate TARGET_NO_EXCEPTIONS
...
Linked them both toghether since you can't really define one and
not the other (plus Linux honors one windows the other in some
cases).
More refactoring on this area to follow.
2019-05-10 18:57:28 +02:00
Flyinghead
f2696a4b47
osx: add new files to project
2019-05-03 11:53:14 +02:00
Flyinghead
810b8a59da
wince: 32-bit virtual mem space
...
use fast mem read/write for x64 and arm64 dynarecs
2019-04-29 18:23:00 +02:00
David Guillen Fandos
3692ea7ae6
Improve stdclass.h/cpp support for non-Linux non-Windows platforms
...
Simplifies having implementation on platform separated files, which is a
pain for platforms which are not Windows but not Linux either (and yet
support pthreads).
Some minor cleanup here and there while we are at it.
2019-04-27 14:34:10 +02:00
Flyinghead
c809c6c56f
Merge branch 'fh/mymaster' into fh/master-merge
2019-03-25 16:47:47 +01:00
Flyinghead
cb8e81d473
arm64: direct memory access and jit rewrite
...
generates direct vmem read & write accesses
trap sigsegv and rewrite using slow path
add w29 to allocatable registers
get rid of literals and use pc-rel branching
minor optimizations and cleanup
2019-01-16 13:04:16 +01:00
Flyinghead
67a4eb8f1f
arm64 dynarec using vixl
2019-01-07 21:50:46 +01:00
Flyinghead
2b25244c95
cResetEvent: needs absolute timeout value. Fixes Android FPS drop.
2018-10-30 10:56:25 +01:00
Flyinghead
a1745801f0
cResetEvent: convert to ns instead of us
2018-10-29 21:41:57 +01:00
Flyinghead
dd7d0a1ac2
Android: deadlock due to cResetEvent.Wait() bug
2018-10-29 20:56:45 +01:00
Flyinghead
dc9780eb46
Android: fix black screen at boot on some devices
2018-10-29 20:03:47 +01:00
Michał Janiszewski
a69bd937c3
Add missing include guards
2018-10-28 13:45:46 +01:00
Flyinghead
7ce4fccb37
Merge remote-tracking branch 'origin/master' into fh/mymaster
2018-09-20 17:28:41 +02:00
Ender's Games
62c76475eb
Android: Implement trial disk swapping code
2018-08-28 14:08:36 -04:00
Ender's Games
14b1e66ed4
Mac: Reference / implement preprocessor directives
2018-08-25 13:03:29 -04:00
Ender's Games
75215ec0d1
Core: Address some obvious lgtm issues
2018-08-21 02:52:03 -04:00
Ender's Games
8d9d40dffc
Core: Changes provided by Android NDK compiler
2018-08-19 01:54:15 -04:00
Flyinghead
46c0d545ec
OSX: Fix previous merge
2018-08-01 18:31:20 +02:00
Flyinghead
9942bfc86e
Merge branch clean-exit-light
2018-08-01 18:02:50 +02:00
Flyinghead
b28e1505c5
Fix dynarec on OSX/x64. Clean exit when window closed.
2018-07-24 13:26:31 +02:00
Greg V
5d69e19ed1
Build on FreeBSD (and potentially other BSD)
2018-07-08 15:43:10 +03:00
Flyinghead
46b40ad043
OSX: enable exceptions for vmem
2018-05-15 11:14:48 +02:00
Flyinghead
39e0f378cb
OSX: add x64 target. Use JIT compiler. Clean exit. Use semaphore in core audio driver. Use layout-independent key codes to support int'l keyboards. Fixed GL window scaling.
2018-04-29 16:07:54 +02:00
gizmo98
4a7d0b9e7e
rpi: add option to use mesa or new vendor gl libs
2018-04-11 21:42:57 +02:00
Nicolas HOUDELOT
5c343a219c
fix typo
2018-03-05 01:57:00 +01:00
Stefanos Kornilios Mitsis Poiitidis
1dbc0d73df
nixprof: Fix printf, PRI & friends don't exist on android
2015-09-17 01:06:47 +02:00
Stefanos Kornilios Mitsis Poiitidis
56f8ffac0e
Merge pull request #807 from randomstuff/nixprof
...
Nixprof: some enchancements
2015-09-04 19:55:19 +02:00
Gabriel Corona
2a469b1def
nixprof: fix notation for Hz
2015-09-03 21:08:39 +02:00
Gabriel Corona
8fc2d5d069
nixprof: only save STT_FUNC
2015-09-03 21:08:35 +02:00
Gabriel Corona
ceca8c72bf
nixprof: make it work with ELF64
2015-09-03 21:08:29 +02:00
Gabriel Corona
c87307162d
nixprof: Use sh_type insteaf of sh_name for section identification and use SHT_SYMTAB
2015-09-03 21:08:24 +02:00
Gabriel Corona
ad068dcff2
Bind profiling in X11 to F10
2015-09-03 21:08:13 +02:00
Jan Holthuis
4267d51f90
stdclass: Make path getter function names more verbose
2015-09-02 15:49:00 +02:00
Jan Holthuis
b6d0cddcaa
stdclass: Add support for separate config/data dirs and system wide dirs
...
This adds support for separate config and data dirs.
On Linux, these will be compliant XDG Basedir Specification, i.e.
XDG_CONFIG_HOME and XDG_CONFIG_DIRS (or XDG_DATA_HOME and XDG_DATA_DIRS
respectively). On all other platforms, there currently just set to the
homedir path (so no previous behaviour has been changed).
If reicast wants to read and write a data file, it just calls
get_data_path("/samplefile.txt"). If it does not need to write to
that file, it just uses get_data_path("/samplefile.txt", false). That
way, we can also use system-wide dirs (like /usr/share/reicast on
linux), that the user usually doesn't have write access to.
The same applies for config file, where you use get_config_path(args)
respectively.
2015-09-02 15:48:53 +02:00
Gabriel Corona
4ad6db345b
nixprof: make private stuff static
2015-08-28 18:26:41 +02:00
TwistedUmbrella
e138cca4b9
Remove internal conditionals to use defined flag
2015-08-20 17:21:47 -04:00
TwistedUmbrella
bf75c95ae8
Update project for #755 and fix warnings
2015-08-17 07:59:39 -04:00