qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 01/29] target-sparc: don't trap on MMU-fault if


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 01/29] target-sparc: don't trap on MMU-fault if MMU is disabled
Date: Tue, 11 Oct 2016 09:50:41 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

On 10/11/2016 09:00 AM, Artyom Tarasenko wrote:
On Mon, Oct 10, 2016 at 11:14 PM, Richard Henderson <address@hidden> wrote:
On 10/01/2016 05:05 AM, Artyom Tarasenko wrote:

     if (is_exec) {
-        helper_raise_exception(env, TT_CODE_ACCESS);
+        if (env->lsu & (IMMU_E)) {
+            helper_raise_exception(env, TT_CODE_ACCESS);
+        }
     } else {
-        helper_raise_exception(env, TT_DATA_ACCESS);
+        if (env->lsu & (DMMU_E)) {
+                helper_raise_exception(env, TT_DATA_ACCESS);
+        }


The cpu really does no kind of machine check for a hypervisor write to
0x1122334455667788?

A bare metal machine would raise Real Translation Exception. But since
we don't do real addresses...

I was asking about an errant access from the hypervisor itself. I would have thought the guest running without an mmu would be running with real addresses, but the hypervisor itself would be running in physical addresses.

But that said, we can't just let the access go completely unreported, surely. We can think as if we do real addresses, but with a 1-1 mapping to physical. So at least for !cpu_hypervisor_mode(env), a Real Translation Exception would seem to be totally justified.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]