[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 02/17] lm32: translation routines
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] [PATCH 02/17] lm32: translation routines |
Date: |
Thu, 17 Mar 2011 00:48:52 +0100 |
On 17.03.2011, at 00:08, Michael Walle <address@hidden> wrote:
> Am Freitag 11 März 2011, 06:57:18 schrieben Sie:
>> On 17.02.2011, at 23:51, Michael Walle wrote:
>>> Am Samstag 12 Februar 2011, 07:49:52 schrieb Blue Swirl:
>>>>> That said, IMHO the best handling of unknown opcodes would be to kill
>>>>> the VM.
>>>>
>>>> In this case it should be OK. Alternatively the VM could be halted, so
>>>> that instead of restarting QEMU, only system_reset needs to be issued.
>>>> This may be more useful for developers, since for example registers
>>>> and memory can be examined after the error.
>>>
>>> Good idea! May I call vm_stop() in a tcg helper? Like in the following
>>> example:
>>>
>>> void helper_vm_stop(uint32_t msg_id)
>>> {
>>>
>>> if (qemu_log_enabled()) {
>>>
>>> qemu_log("VM stopped: %s", err_msg_str[msg_id]);
>>>
>>> } else {
>>>
>>> fprintf(stderr, "VM stopped: %s", err_msg_str[msg_id]);
>>>
>>> }
>>>
>>> #ifndef CONFIG_USER_ONLY
>>>
>>> vm_stop(0);
>>>
>>> #endif
>>>
>>> env->exception_index = EXCP_HALTED;
>>> cpu_loop_exit();
>>>
>>> }
>>>
>>> If not, what is the proper way to stop/pause the VM from within the
>>> executed code?
>>
>> Since I haven't seen any reply yet: Can't you just do the same as hlt and
>> disable interrupts?
> This won't set the VM stopped property, eg. 'info status' will still report
> the VM status as running.
>
> And the timer would still be running, wouldn't it?
>
Well you got the code in as is anyway, so it doesn't really matter ;)
Alex
> --
> Michael