Skip to content
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

ARM64 Dynarec 'mov %al,%fs:0xfffffffffffffe44' not implemented #1248

Closed
tristanmorgan opened this issue Feb 5, 2024 · 5 comments
Closed

Comments

@tristanmorgan
Copy link
Contributor

tristanmorgan commented Feb 5, 2024

Hi, it seems that 'MOV FS:Eb, Gb' was not implemented in the ARM64 dynarec. There are implementations for RV64 and Box86 (assuming I understand this code correctly).

Here is the output from running Minecraft bedrock server on a Pi4.

0x1071ba8d2: Dynarec stopped because of Opcode 64 88 04 25 91 FE FF FF 0F B6 47 48 A8 01 0F
0x1071ba8d2: Dynarec stopped because of Opcode 64 88 04 25 91 FE FF FF 0F B6 47 48 A8 01 0F
0x1071bb628: Dynarec stopped because of Opcode 64 88 04 25 91 FE FF FF 0F B6 86 D3 11 00 00
0x1071bb628: Dynarec stopped because of Opcode 64 88 04 25 91 FE FF FF 0F B6 86 D3 11 00 00
0x1071bcbb9: Dynarec stopped because of Opcode 64 88 04 25 91 FE FF FF 48 8D 7C 24 50 E8 95
0x1071bb0f8: Dynarec stopped because of Opcode 64 88 04 25 91 FE FF FF 0F B6 86 D3 11 00 00
0x1071bb0f8: Dynarec stopped because of Opcode 64 88 04 25 91 FE FF FF 0F B6 86 D3 11 00 00

(Edit: while using BOX64_DYNAREC_MISSING=1)

@tristanmorgan tristanmorgan changed the title ARM64 Dynarec 'MOV FS:Eb, Gb' not implemented ARM64 Dynarec 'mov %al,%fs:0xfffffffffffffe44' not implemented Jun 28, 2024
@tristanmorgan
Copy link
Contributor Author

running through objdump it looks like the instructions are mov %al,%fs:0xfffffffffffffe44

0x107465f6a: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF 41 0F B6 46 48 A8 01
    7465f6a:       64 88 04 25 44 fe ff    mov    %al,%fs:0xfffffffffffffe44

@ptitSeb
Copy link
Owner

ptitSeb commented Sep 15, 2024

The opcode has been added some time ago, you can update and try again/

@tristanmorgan
Copy link
Contributor Author

Hi @ptitSeb, I've run with a recent build of Box64 on ARM and unfortunately I'm still seeing the logged errors.

Box64 with Dynarec v0.3.1 baa3f57 built on Oct 5 2024 06:36:24

bedrock_server Version: 1.21.31.04

0x10779bb6a: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF 41 0F B6 46 48 A8 01
0x10779bb6a: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF 41 0F B6 46 48 A8 01
0x10779c8df: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF 4C 89 E7 E8 B1 66 24
0x10779c8df: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF 4C 89 E7 E8 B1 66 24
0x10779cf4e: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF E8 45 54 76 FB 48 89
0x10779c3bf: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF 48 89 DF E8 D1 6B 24
0x10779c3bf: Dynarec stopped because of x64 Opcode 64 88 04 25 44 FE FF FF 48 89 DF E8 D1 6B 24

@ptitSeb
Copy link
Owner

ptitSeb commented Oct 7, 2024

Ah yeah, sorry, I added 64 8A opcode earlier, instead of 64 88 (I was confused by the dump that as at&t assembly style, while I'm used to the intel style).

Anyway, it's added now.

@tristanmorgan
Copy link
Contributor Author

Thank you so much. Closed with 2ef6011c7ae

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants