On Sun, May 22, 2011 at 07:55:53PM +0300, Blue Swirl wrote:
> On Sun, May 22, 2011 at 2:18 PM, Blue Swirl wrote:
> > Make functions take a parameter for CPUState instead of relying
> > on global env. Pass CPUState pointer to TCG prologue, which moves
> > it to AREG0.
>
> I found the problem with
On 22 May 2011 18:33, Laurent Desnogues wrote:
> On Sun, May 22, 2011 at 7:10 PM, Peter Maydell
> wrote:
>> On 22 May 2011 17:55, Blue Swirl wrote:
>>> For ARM, the handcrafted instructions below need to be changed to save also
>>> r7:
>> That would be ...ff0 rather than ...f70 in both cases
On Sun, May 22, 2011 at 7:10 PM, Peter Maydell wrote:
> On 22 May 2011 17:55, Blue Swirl wrote:
>> For ARM, the handcrafted instructions below need to be changed to save also
>> r7:
>> /* stmdb sp!, { r4 - r6, r8 - r11, lr } */
>> tcg_out32(s, (COND_AL << 28) | 0x092d4f70);
>>
>> /* ldm
On 22 May 2011 17:55, Blue Swirl wrote:
> For ARM, the handcrafted instructions below need to be changed to save also
> r7:
> /* stmdb sp!, { r4 - r6, r8 - r11, lr } */
> tcg_out32(s, (COND_AL << 28) | 0x092d4f70);
>
> /* ldmia sp!, { r4 - r6, r8 - r11, pc } */
> tcg_out32(s, (COND_AL
On Sun, May 22, 2011 at 2:18 PM, Blue Swirl wrote:
> Make functions take a parameter for CPUState instead of relying
> on global env. Pass CPUState pointer to TCG prologue, which moves
> it to AREG0.
I found the problem with this patch on i386, TCG assumes that its
caller is also using global env
Make functions take a parameter for CPUState instead of relying
on global env. Pass CPUState pointer to TCG prologue, which moves
it to AREG0.
Revert the hacks to avoid AREG0 use on Sparc hosts.
Move cpu_has_work() and cpu_pc_from_tb() from exec.h to cpu.h.
Compile the file without HELPER_CFLAGS