English Amiga Board


Go Back   English Amiga Board > Support > support.FS-UAE

 
 
Thread Tools
Old 30 August 2015, 15:53   #21
bernd roesch
Registered User
 
Join Date: Apr 2012
Location: germany
Posts: 139
Quote:
Originally Posted by FrodeSolheim View Post
This should work on Linux. The reason direct memory access is not enabled by default is because the "segfault handler", whose purpose is to "intercept" illegal memory accesses by Amiga software does not work (yet) in FS-UAE, and any such illegal memory access will (most likely) cause FS-UAE to crash.

With everything set to direct, it will actually crash during Kickstart startup, because Kickstart code tries to write/read memory (probing for available memory), and when it probes too far, it crashes. Setting uae_comp_trustlong = indirectks works around this by ensuring that memory accesses (32-bit read/writes, which is used for probing) from kickstart code (only) is indirect.

So this will work... mostly... but a memory access to unmapped memory from an Amiga program will still cause FS-UAE to crash...
I get the idea to avoid the segfault handler rewrite. But this can only work with modern machines that have at least 8 gb ram and of course 64 bit linux as host. It can per option allow that fs-uae do allocate full 4gb of addressspace of amiga. then there can never a segfault happen
bernd roesch is offline  
Old 30 August 2015, 18:22   #22
jbl007
Registered User
 
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 466
Quote:
Originally Posted by bernd roesch View Post
Please upload your fs-uae config file, and what version you use
Config is pretty basic. There is nothing magical in it (except the jit stuff I already posted):
Code:
[fs-uae]
amiga_model = A4000/040
graphics_card = uaegfx
bsdsocket_library = 1
zorro_iii_memory = 131072
uae_cachesize = 8192
uae_comp_trustbyte = direct
uae_comp_trustword = direct
uae_comp_trustnaddr = direct
uae_comp_trustlong = indirectks
hard_drive_0 = ~/FS-UAE/Hard Drives/System.hdf
hard_drive_1 = ~/FS-UAE/Hard Drives/amiga/
Current stable version 2.4.x has serious speed issues in fastest possible mode. Don't use it. Currently I'm using the latest git version (indirectks is working again (thanks Frode!) :-)) but one of the latest dev-versions should also do it. In this case you must enable direct mode for the "longs" in your s:startup-sequence:
Code:
uae-configuration comp_trustlong direct
jbl007 is offline  
Old 30 August 2015, 23:16   #23
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Btw, It looks like I have fixed JIT direct memory access, at least it seems to work on Linux now
FrodeSolheim is offline  
Old 31 August 2015, 18:47   #24
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
More good news, I have also fixed JIT direct memory for win32. (__try / __except which WinUAE uses isn't available with mingw, so I used SetUnhandledExceptionFilter instead).

I have also unified the access violation handlers for Windows and Linux for easier future maintenance (I will commit that back to WinUAE once I have verified that I haven't broken compilation with MSVC)

@jbl007 public git repository is updated.
FrodeSolheim is offline  
Old 01 September 2015, 01:25   #25
jbl007
Registered User
 
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 466
No more reset loop on boot with direct mode enabled, speed is also good. You did it!
jbl007 is offline  
Old 01 September 2015, 13:01   #26
bernd roesch
Registered User
 
Join Date: Apr 2012
Location: germany
Posts: 139
good, when fs-uae work with JIT direct better. Does this speedup hd.rec render too ?

The Linux user get his fs-uae better working now. The important thing he must do was add this line. but he can not add this line too early, or it crash.

uae-configuration comp_trustlong direct

and with new fs-uae this line is not need anymore ?

A version of Jit for 64 bit is usefull too and i think can speedup lots, because every 68k branch instruction slow much down. so code with much branches(as compiler) can get really slow

because the Jit work as this. every branch instruction, there need because of too few X86 register 2 register save and reload. have 64 bit, there are more register, so no register need temporly save

If there are questions about internal working of uae JIT, let me know, i know lots of it, because i have lots debug.

but only a short hint. it is possible to increase the jit to 64 bit step by step, because it is easy to decide what instructions should run in JIT. so the first step is, disable all instructions for jit and enable only nop. If that work, then can begin to add branch instructions with new code.

The JIT need only around 30 asm instruction opcodes. for this opcodes need then look for X64 instruction opcodes.

I can not compile winuae since long time, because i have no visual c and i am too lazy to install it, and want not buy it.

but maybe fs-uae for windows can easy compile with devcpp gcc enviroment or other as visual c, then i maybe try when i have fun to bring the jit to X64, or help if somebody who do this have problems. I like GUI and hate text typing. not good for my fingers type lots btw, i am older and i now 50

thats sysspeed values i get, but as i say, is on faster machines not very precise
Attached Thumbnails
Click image for larger version

Name:	sysspeed.jpg
Views:	218
Size:	315.6 KB
ID:	45289  

Last edited by bernd roesch; 01 September 2015 at 13:32.
bernd roesch is offline  
Old 03 September 2015, 20:46   #27
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by bernd roesch View Post
uae-configuration comp_trustlong direct
and with new fs-uae this line is not need anymore ?
Correct, with the latest version, uae_comp_trustlong=direct (and the other trust* options) can be specified in configuration file.

Quote:
Originally Posted by bernd roesch View Post
A version of Jit for 64 bit is usefull too
I am actually working on integrating JIT improvements from the ARAnyM project (which has UAE CPU emulation), including support for JIT compilation for x86-64. I will announce it if/when I have made a breakthrough, but it looks promising
FrodeSolheim is offline  
Old 20 September 2015, 21:44   #28
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Discussion about 64-bit JIT compiler moved to separated thread: http://eab.abime.net/showthread.php?t=79762
FrodeSolheim is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
JIT mode for 68040 available? pixelsmack support.FS-UAE 4 17 July 2014 00:00
Pause Mode crashing FS-UAE Jason H support.FS-UAE 13 19 April 2013 23:36
Very old JIT direct bug: 512 kB Chip reported as 1MB PeterK support.WinUAE 2 04 April 2012 21:08
MMU/JIT toggle on native mode jotd request.UAE Wishlist 3 18 September 2009 20:36
'Warp Mode' broken in 'windowed mode' NoX1911 support.WinUAE 3 26 May 2007 01:05

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 03:14.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09797 seconds with 14 queries