>>> On 11.08.16 at 13:57, wrote:
> On 02/08/16 14:12, Jan Beulich wrote:
> On 18.07.16 at 11:51, wrote:
>>> +mov %rsp, %rdi
>>> +call pv_hypercall
>>> movl %eax,UREGS_rax(%rsp) # save the return value
>> To follow the HVM model, this should also move into C.
On 02/08/16 14:12, Jan Beulich wrote:
On 18.07.16 at 11:51, wrote:
>> +long pv_hypercall(struct cpu_user_regs *regs)
>> +{
>> +struct vcpu *curr = current;
>> +#ifndef NDEBUG
>> +unsigned long old_rip = regs->rip;
>> +#endif
>> +long ret;
>> +uint32_t eax = regs->eax;
>> +
>>
>>> On 02.08.16 at 16:06, wrote:
> On 02/08/16 14:12, Jan Beulich wrote:
> On 18.07.16 at 11:51, wrote:
>>> +long pv_hypercall(struct cpu_user_regs *regs)
>>> +{
>>> +struct vcpu *curr = current;
>>> +#ifndef NDEBUG
>>> +unsigned long old_rip = regs->rip;
>>> +#endif
>>> +long ret
On 02/08/16 14:12, Jan Beulich wrote:
On 18.07.16 at 11:51, wrote:
>> +long pv_hypercall(struct cpu_user_regs *regs)
>> +{
>> +struct vcpu *curr = current;
>> +#ifndef NDEBUG
>> +unsigned long old_rip = regs->rip;
>> +#endif
>> +long ret;
>> +uint32_t eax = regs->eax;
>> +
>>
>>> On 18.07.16 at 11:51, wrote:
> +long pv_hypercall(struct cpu_user_regs *regs)
> +{
> +struct vcpu *curr = current;
> +#ifndef NDEBUG
> +unsigned long old_rip = regs->rip;
> +#endif
> +long ret;
> +uint32_t eax = regs->eax;
> +
> +ASSERT(curr->arch.flags & TF_kernel_mode);