|
From: | Mark Cave-Ayland |
Subject: | Re: [Qemu-devel] target-sparc has inverse cwp logic for SAVE/RESTORE? |
Date: | Mon, 19 May 2014 11:56:15 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.5.0 |
On 18/05/14 17:06, Olivier Danet wrote:
The problem may be related to the fact that the 32bits SPARCv8 and 64bits SPARCv9 work in opposite directions ! SparcV9 standard, page 360/399 : The SPARC-V9 CWP register is incremented during a SAVE instruction and decremented during a RESTORE instruction. Although this is the opposite of PSR.CWP’s behavior in SPARC-V8, the only software it should affect is a few trap handlers that operate in privileged mode, and that must be rewritten for SPARC-V9 anyway. This change will have no effect on nonprivileged software.
Ah I wonder if that could be it? I did try swapping the increment/decrement operators around in the helpers, however OpenBIOS crashed fairly early on so it's obviously not as simple as that. I suspect that because a lot of the code is shared been v8/v9 then there are some other assumptions that would need to be corrected for this to work :/
ATB, Mark.
[Prev in Thread] | Current Thread | [Next in Thread] |