[prev in list] [next in list] [prev in thread] [next in thread]
List: qemu-devel
Subject: Re: [Qemu-devel] [PATCH, MIPS64] 64-bit addressing fixes
From: "Blue Swirl" <blauwirbel () gmail ! com>
Date: 2007-05-21 13:52:05
Message-ID: f43fc5580705210652v33d15b01u9e6330a737f35ce9 () mail ! gmail ! com
[Download RAW message or body]
On 5/21/07, Aurelien Jarno <aurelien@aurel32.net> wrote:
> dyngen currently does not support passing 64-bit values to PARAM1 and
> PARAM2, they are limited to 32-bit. This patch creates a new op_set64
> function to set a register with a 64-bit value, by passing high and low
> word in PARAM1 and PARAM2. The same thing is done for the
> op_save_btarget and op_save_pc instructions. Unfortunately it is not
> possible to pass the value via T0, T1 or T2, and then move it to btarget
> or pc, because those functions are used in save_cpu_state where T0, T1
> or T2 may already be used.
I don't know MIPS, but perhaps you could try this trick used in Sparc:
static inline void gen_jmp_im(target_ulong pc)
{
#ifdef TARGET_SPARC64
if (pc == (uint32_t)pc) {
gen_op_jmp_im(pc);
} else {
gen_op_jmp_im64(pc >> 32, pc);
}
#else
gen_op_jmp_im(pc);
#endif
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic