-m 512 -machine q35 -cdrom
seoul-vmm-test.iso
[0] https://depot.genode.org/alex-ab/images/seoul-vmm-test.iso
[1] https://depot.genode.org/alex-ab/images/seoul-vmm-good.txt
[2] https://depot.genode.org/alex-ab/images/seoul-vmm-bad.txt
--
Alexander Boettcher
Genode Labs
https://www.genode-labs.com
On 09.03.2017 13:42, Paolo Bonzini wrote:
> On 05/03/2017 19:21, Alexander Boettcher wrote:
>> the SVM I/O permission bitmap for user-level (ring-3) VM code running in
>> SVM seems to be ignored and causes a GP-fault. (Actual the IO permission
>> was granted by the kernel
> cpu_x86_update_cr4 -> tlb_flush.
>>
>> To avoid this, split VMEXIT delivery in two parts, similar to what is done
>> with
>> exceptions. cpu_vmexit only records the VMEXIT exit code and information,
>> and
>> cc->do_interrupt can then deliver it when it
,
Alex.
On 06.03.2017 17:24, Alex Bennée wrote:
>
> Alexander Boettcher writes:
>
>> Hi,
>
>>
>> Sometimes Qemu just succeeds if the timing is well, will see.
>>
>> But this is not the point of this issue atm.
>
> I've sent a patch that works
CPUState *cs = CPU(x86_env_get_cpu(env));
> +uint32_t int_ctl;
> +
> if (env->hflags & HF_INHIBIT_IRQ_MASK) {
> x86_stl_phys(cs,
> env->vm_vmcb + offsetof(struct vmcb, control.int_state),
> @@ -759,13 +770,6 @@ void cpu_vmexit(CPUX86State *env, uint32_t exit_code,
> uint64_t exit_info_1,
> /* If the host's rIP reloaded by #VMEXIT is outside the limit of the
> host's code segment or non-canonical (in the case of long mode), a
> #GP fault is delivered inside the host. */
> -
> -/* remove any pending exception */
> -cs->exception_index = -1;
> -env->error_code = 0;
> -env->old_exception = -1;
> -
> -cpu_loop_exit(cs);
> }
>
> #endif
>
--
Alexander Boettcher
Genode Labs
http://www.genode-labs.com - http://www.genode.org
Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Hi,
On 06.03.2017 15:42, Alex Bennée wrote:
>
> Alexander Boettcher writes:
>
>> Hi,
>>
>> On 06.03.2017 14:15, Alex Bennée wrote:
>>> I found the virtualbox.iso on your branch but I can't trigger the
>>> assert. Running:
>>>
>>
est error?
It's a race which happens in Qemu (not on hardware), so I still
investigating it within Qemu. Because of that on [0] the commit before
the virtualbox.iso is one commit to avoid this for the moment in order
to continue.
>> [0] https://github.com/alex-ab/qemu/commits/genode_sv
_SVMI_MASK) block and later on executing the if (s->pe && (s->cpl >
s->iopl || s->vm86)) block my use-case succeeds.
Please check and consider the patch for addition. The patch is based on
17783ac828adc694d986698d2d7014aedfeb48c6 qemu master.
Thanks,
--
Alexander Boe
enode_svm_issue
[1]
https://github.com/alex-ab/qemu/commit/1130fee3b04dd2bee576241de9a5771d6855b327
Thanks in advance,
Alex.
--
Alexander Boettcher
Genode Labs
http://www.genode-labs.com - http://www.genode.org
Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführ
On 16.02.2017 13:57, Paolo Bonzini wrote:
>
>
> On 16/02/2017 13:57, Alexander Boettcher wrote:
>> Hello Paolo,
>>
>> On 16.02.2017 12:53, Paolo Bonzini wrote:
>>> As you noticed, the problem is that now cpu_vmexit is called without a
>>> cpu_rest
untested patch:
...
>
> If it works for you we can include it.
thank you for the quick patch. It works like a charm.
Do you take care of adding the patch, please ? (I can of course also do.)
Thanks again,
Alex.
--
Alexander Boettcher
Genode Labs
http://www.genode-labs.com - http://www.genode.
ore for us. Patching
the vanished retaddr condition back to 2.5.0, 2.8.0 and qemu devel git
branch makes it working again.
>From 87e061542205ac56cc485d13607db16239524e4b Mon Sep 17 00:00:00 2001
From: Alexander Boettcher
Date: Thu, 16 Feb 2017 11:17:09 +0100
Subject: [PATCH] x86/tlb_fill: call
12 matches
Mail list logo