public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [kvm-devel] [1-5/17] Patch 1-10 of kvm/ia64 V2
       [not found] ` <42DFA526FC41B1429CE7279EF83C6BDCB139D3-wq7ZOvIWXbMAbVU2wMM1CrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2007-12-21  7:07   ` Akio Takebe
  2007-12-21  7:44     ` Zhang, Xiantao
  2007-12-21  7:44   ` Akio Takebe
  1 sibling, 1 reply; 4+ messages in thread
From: Akio Takebe @ 2007-12-21  7:07 UTC (permalink / raw)
  To: Zhang, Xiantao, kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
  Cc: Luck, Tony, linux-ia64-u79uwXL29TY76Z2rM5mHXA, Avi Kivity

Hi, Xiantao

I got reading kvm-ia64 started. :)
Which member is p2m table?

> [2/17] Add kvm-ia64.c to support kvm module on Itanium processors.
Some trivial comments.

+int kvm_arch_init(void *opaque)
+{
+	int r;
+	struct kvm_vmm_info *vmm_info = (struct kvm_vmm_info *)opaque;
+
+	if (kvm_vmm_info) {
+		printk(KERN_ERR "kvm: already loaded the other module!\n");
+		r = -EEXIST;
+		goto out;
+	}
+
+	r =  -ENOMEM;
extra white space.

+	kvm_vmm_info = kzalloc(sizeof(struct kvm_vmm_info), GFP_KERNEL);
+	if (!kvm_vmm_info)
+		goto out;
+
Can we get the message of shortage of memory by qemu?

+	if (!vti_cpu_has_kvm_support()) {
+		printk(KERN_ERR "kvm: no hardware support\n");
+		r = -EOPNOTSUPP;
+		goto out_free0;
+	}
+
We had better check vti support at the first.

+	kvm_hack_insert_tr();
+
+	if (kvm_alloc_vmm_area())
+		goto out_free0;
+
r = kvm_alloc_vmm_area() is better.

+	r = kvm_relocate_vmm(vmm_info, vmm_info->module);
+	if (r)
+		goto out_free1;
+
+	return 0;
+
+out_free1:
+	kvm_free_vmm_area();
+out_free0:
+	kfree(kvm_vmm_info);
+out:
+	return r;
+}
+
+void kvm_arch_exit(void)
+{
+	kvm_free_vmm_area();
+	kfree(kvm_vmm_info);
+	kvm_vmm_info = 0;
+}
kvm_vmm_info = (void *)0?

Best Regards,

Akio Takebe


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [kvm-devel] [1-5/17] Patch 1-10 of kvm/ia64 V2
       [not found] ` <42DFA526FC41B1429CE7279EF83C6BDCB139D3-wq7ZOvIWXbMAbVU2wMM1CrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  2007-12-21  7:07   ` [kvm-devel] [1-5/17] Patch 1-10 of kvm/ia64 V2 Akio Takebe
@ 2007-12-21  7:44   ` Akio Takebe
  2007-12-21  8:14     ` Zhang, Xiantao
  1 sibling, 1 reply; 4+ messages in thread
From: Akio Takebe @ 2007-12-21  7:44 UTC (permalink / raw)
  To: Zhang, Xiantao, kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
  Cc: Luck, Tony, linux-ia64-u79uwXL29TY76Z2rM5mHXA, Avi Kivity

Hi, Xiantao

>> [3/17] Add firmware virtualization support.

+void kvm_sal_emul(struct kvm_vcpu *vcpu)
+{
+
+	struct sal_ret_values result;
+	u64 index, in1, in2, in3, in4, in5, in6, in7;
+
+	kvm_get_sal_call_data(vcpu, &index, &in1, &in2,
+			&in3, &in4, &in5, &in6, &in7);
+	if (index) {
+		result = sal_emulator(index, in1, in2, in3,
+						in4, in5, in6, in7);
+		set_sal_result(vcpu, result);
+	} else
+		printk(KERN_WARNING"kvm:Unsupported sal call called,"
+					" index:%d!\n", index);
+}
The printk always show index:0.
And set_sal_result() doesn't work at the time of index=0.
So I think the following code is better.

+void kvm_sal_emul(struct kvm_vcpu *vcpu)
+{
+
+	struct sal_ret_values result;
+	u64 index, in1, in2, in3, in4, in5, in6, in7;
+
+	kvm_get_sal_call_data(vcpu, &index, &in1, &in2,
+			&in3, &in4, &in5, &in6, &in7);
+	result = sal_emulator(index, in1, in2, in3,
+					in4, in5, in6, in7);
+	set_sal_result(vcpu, result);
+}

Best Regards,

Akio Takebe


^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [kvm-devel] [1-5/17] Patch 1-10 of kvm/ia64 V2
  2007-12-21  7:07   ` [kvm-devel] [1-5/17] Patch 1-10 of kvm/ia64 V2 Akio Takebe
@ 2007-12-21  7:44     ` Zhang, Xiantao
  0 siblings, 0 replies; 4+ messages in thread
From: Zhang, Xiantao @ 2007-12-21  7:44 UTC (permalink / raw)
  To: Akio Takebe, kvm-devel; +Cc: Luck, Tony, linux-ia64, Avi Kivity

Hi Akio,
	Thank you for your comments.
Xiantao
Akio Takebe wrote:
> Hi, Xiantao
m: already loaded the other module!\n");
> +		r = -EEXIST;
> +		goto out;
> +	}
> +
> +	r =  -ENOMEM;
> extra white space.

Yes.  One more white space here.

> +	kvm_vmm_info = kzalloc(sizeof(struct kvm_vmm_info), GFP_KERNEL);
> +	if (!kvm_vmm_info)
> +		goto out;
> +
> Can we get the message of shortage of memory by qemu?

The memory allocation here is just for vmm module initialization, and no
qemu/vm created so far. 
Memory shortage here, will leads to module insert fail, and this is our
expectable result.  

> +	if (!vti_cpu_has_kvm_support()) {
> +		printk(KERN_ERR "kvm: no hardware support\n");
> +		r = -EOPNOTSUPP;
> +		goto out_free0;
> +	}
> +
> We had better check vti support at the first.

OK,  I will move it to first in arch_init. :)

> +}
> kvm_vmm_info = (void *)0?

Maybe NULL is better :)

> 
>
------------------------------------------------------------------------
-
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [kvm-devel] [1-5/17] Patch 1-10 of kvm/ia64 V2
  2007-12-21  7:44   ` Akio Takebe
@ 2007-12-21  8:14     ` Zhang, Xiantao
  0 siblings, 0 replies; 4+ messages in thread
From: Zhang, Xiantao @ 2007-12-21  8:14 UTC (permalink / raw)
  To: Akio Takebe, kvm-devel; +Cc: Luck, Tony, linux-ia64, Avi Kivity

Akio Takebe wrote:
> Hi, Xiantao
> 
>>> [3/17] Add firmware virtualization support.
> 
> +void kvm_sal_emul(struct kvm_vcpu *vcpu)
> +{
> +
> +	struct sal_ret_values result;
> +	u64 index, in1, in2, in3, in4, in5, in6, in7;
> +
> +	kvm_get_sal_call_data(vcpu, &index, &in1, &in2,
> +			&in3, &in4, &in5, &in6, &in7);
> +	if (index) {
> +		result = sal_emulator(index, in1, in2, in3,
> +						in4, in5, in6, in7);
> +		set_sal_result(vcpu, result);
> +	} else
> +		printk(KERN_WARNING"kvm:Unsupported sal call called,"
> +					" index:%d!\n", index);
> +}
> The printk always show index:0.
> And set_sal_result() doesn't work at the time of index=0.
> So I think the following code is better.

Good catch! Originally, I want to use it for kvm_get_sal_call debug, but
forget to remove it. 
Thank you! :)

> +void kvm_sal_emul(struct kvm_vcpu *vcpu)
> +{
> +
> +	struct sal_ret_values result;
> +	u64 index, in1, in2, in3, in4, in5, in6, in7;
> +
> +	kvm_get_sal_call_data(vcpu, &index, &in1, &in2,
> +			&in3, &in4, &in5, &in6, &in7);
> +	result = sal_emulator(index, in1, in2, in3,
> +					in4, in5, in6, in7);
> +	set_sal_result(vcpu, result);
> +}
> 
> Best Regards,
> 
> Akio Takebe


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-12-21  8:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <42DFA526FC41B1429CE7279EF83C6BDCB139D3@pdsmsx415.ccr.corp.intel.com>
     [not found] ` <42DFA526FC41B1429CE7279EF83C6BDCB139D3-wq7ZOvIWXbMAbVU2wMM1CrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-12-21  7:07   ` [kvm-devel] [1-5/17] Patch 1-10 of kvm/ia64 V2 Akio Takebe
2007-12-21  7:44     ` Zhang, Xiantao
2007-12-21  7:44   ` Akio Takebe
2007-12-21  8:14     ` Zhang, Xiantao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox