[Xen-devel] [PATCH v4] x86/cpu: Add supports for zhaoxin x86 platform

2018-05-06 Thread Davidwang
From: DavidWang <davidw...@zhaoxin.com> Zhaoxin is a x86 IC designer. Its SOC products support both CPU virtualization and I/O virtualization, which are compatible with Intel VMX and VT-d respectively. Zhaoxin has 'Shanghai' CPU vendor ID. Signed-off-by: DavidWang <davidw...@zh

[Xen-devel] [PATCH v3] x86/cpu: Add supports for zhaoxin x86 platform

2018-05-02 Thread Davidwang
From: DavidWang <davidw...@zhaoxin.com> Zhaoxin is a x86 IC designer. Its SOC products support both CPU virtualization and I/O virtualization, which are compatible with Intel VMX and VT-d respectively. Zhaoxin has 'Shanghai' CPU vendor ID. Signed-off-by: DavidWang <davidw...@zh

[Xen-devel] [PATCH v2] x86/cpu: Add supports for zhaoxin x86 platform

2018-04-25 Thread Davidwang
From: DavidWang <davidw...@zhaoxin.com> Zhaoxin is a x86 IC designer. Its SOC products support both CPU virtualization and I/O virtualization, which are compatible with Intel VMX and VT-d respectively. Zhaoxin has 'Shanghai' CPU vendor ID. Signed-off-by: DavidWang <davidw...@zh

[Xen-devel] [PATCH v4] x86: Fix possible ASSERT(cpu < nr_cpu_ids)

2018-04-19 Thread Davidwang
From: David Wang CPUs may share an in-use channel. Hence clearing of a bit from the cpumask (in hpet_broadcast_exit()) as well as setting one (in hpet_broadcast_enter()) must not race evaluation of that same cpumask. Therefore avoid evaluating the cpumask twice in

[Xen-devel] [PATCH v3] x86: Fix possible ASSERT(cpu < nr_cpu_ids)

2018-04-19 Thread Davidwang
From: David Wang CPUs may share an in-use channel. Hence clearing of a bit from the cpumask (in hpet_broadcast_exit()) as well as setting one (in hpet_broadcast_enter()) must not race evaluation of that same cpumask. Therefore avoid evaluating the cpumask twice in

[Xen-devel] [PATCH v2] x86/hpet: Fix possible ASSERT(cpu < nr_cpu_ids)

2018-04-18 Thread Davidwang
From: David Wang For the ch->cpumask be cleared by other cpu, cpumask_first() called by hpet_detach_channel() return nr_cpu_ids. That lead an assertion in set_channel_irq_affinity() when cpumask_of() check cpu. Fix this by using a local variable. Signed-off-by: David Wang

[Xen-devel] [PATCH] x86/hpet: add a lock when cpu clear cpumask in hpet_broadcast_exit();

2018-04-16 Thread Davidwang
From: David Wang By the hpet_get_channel(), cpus share an in-use channel somtime. So, core shouldn't clear cpumask while others are getting first cpumask. If core zero and core one share an channel, the cpumask is 0x3. Core zero clear cpumask between core one executing