Hi Chen,
On 31/05/2015 16:31, Chen Baozi wrote:
On May 31, 2015, at 21:35, Julien Grall <julien.gr...@citrix.com> wrote:
+
#define NR_GIC_LOCAL_IRQS NR_LOCAL_IRQS
#define NR_GIC_SGI 16
#define MAX_RDIST_COUNT 4
diff --git a/xen/include/asm-arm/vgic.h b/xen/include/asm-arm/vgic.h
index 2f413e1..1157b04 100644
--- a/xen/include/asm-arm/vgic.h
+++ b/xen/include/asm-arm/vgic.h
@@ -110,6 +110,8 @@ struct vgic_ops {
struct vcpu *(*get_target_vcpu)(struct vcpu *v, unsigned int irq);
/* vGIC sysreg emulation */
int (*emulate_sysreg)(struct cpu_user_regs *regs, union hsr hsr);
+ /* Get the maximum number of vCPU supported */
+ int (*get_max_vcpus)(void);
Why did you create a function? The value never change so a field value would
have been better…
But is it appropriate that we define a field value in a struct called vgic_ops?
I
thought ‘XXX_ops’ refers to a struct that is made up by function points. (FIXME)
Well if the only issue if the name, please rename the structure. IHMO,
the name is fine for me, I will let Ian & Stefano decides about it.
As the vGIC is always supporting N cpus and will never change, it's
pointless to use a function (thinking about the "cost" vs access an field).
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel