Re: Generating host code in TCG mode

2023-03-19 Thread Peter Maydell
On Sat, 18 Mar 2023 at 23:54, 沈梦姣 wrote: > > > Thanks Peter > > > 在 2023年3月19日,上午2:52,Peter Maydell 写道: > > > > On Fri, 17 Mar 2023 at 21:01, 沈梦姣 wrote: > >> TCG knows what registers may be clobbered by a call into > >> host C code (this is set up in the tcg_target_call_clobber_regs > >> regset

Re: Generating host code in TCG mode

2023-03-18 Thread 沈梦姣
Thanks Peter > 在 2023年3月19日,上午2:52,Peter Maydell 写道: > > On Fri, 17 Mar 2023 at 21:01, 沈梦姣 wrote: >> TCG knows what registers may be clobbered by a call into >> host C code (this is set up in the tcg_target_call_clobber_regs >> regset by code in tcg_target_init()), so the register allocator

Re: Generating host code in TCG mode

2023-03-18 Thread Peter Maydell
On Fri, 17 Mar 2023 at 21:01, 沈梦姣 wrote: > TCG knows what registers may be clobbered by a call into > host C code (this is set up in the tcg_target_call_clobber_regs > regset by code in tcg_target_init()), so the register allocator > will either avoid using those registers > > Look at tcg_target_r

Re: Generating host code in TCG mode

2023-03-17 Thread 沈梦姣
Thanks Peter > 在 2023年3月18日,上午12:18,Peter Maydell 写道: > > On Fri, 17 Mar 2023 at 15:17, 沈梦姣 wrote: >> >> Hi, >> When generating host code, sometimes it has to jmp to qemu common >> code(e.g. memory management code to get host virtual address), but >> it seems before the jmp the caller saved

Re: Generating host code in TCG mode

2023-03-17 Thread Peter Maydell
On Fri, 17 Mar 2023 at 15:17, 沈梦姣 wrote: > > Hi, > When generating host code, sometimes it has to jmp to qemu common > code(e.g. memory management code to get host virtual address), but > it seems before the jmp the caller saved registers haven’t been > pushed to stack, qemu common code is functio

Generating host code in TCG mode

2023-03-17 Thread 沈梦姣
Hi, When generating host code, sometimes it has to jmp to qemu common code(e.g. memory management code to get host virtual address), but it seems before the jmp the caller saved registers haven’t been pushed to stack, qemu common code is function so it can use caller saved registers. Does I miss