Displaying 20 results from an estimated 85 matches for "evtchn_upcall_mask".
2006 Jun 09
2
evtchn_upcall_mask
...bled" bit
(called External Exceptions, or EE) in the hardware''s Machine State
Register (MSR). Hardware allows domains to directly control this bit.
On x86, domains aren''t allowed to cli/sti because they aren''t running in
ring 0. So instead, they use a software flag (evtchn_upcall_mask) to
mean the same thing, and the domains can control that.
On 30 Mar 2006, Kevin Tian wrote:
> [...] we''ve merged our
> architecture specific interrupt enable flag with the evtchn_upcall_mask, to
> avoid any race conditions when operating two flags simultaneously. After
>...
2006 Oct 04
0
[PATCH,RFC 6/17] 32-on-64 shared info handling
...====================================
--- 2006-10-04.orig/xen/arch/x86/domain.c 2006-10-04 15:03:07.000000000 +0200
+++ 2006-10-04/xen/arch/x86/domain.c 2006-10-04 15:11:03.000000000 +0200
@@ -550,10 +550,10 @@ static void load_segments(struct vcpu *n
/* CS longword also contains full evtchn_upcall_mask. */
cs_and_mask = (unsigned short)regs->cs |
- ((unsigned int)n->vcpu_info->evtchn_upcall_mask << 16);
+ ((unsigned int)vcpu_info(n, evtchn_upcall_mask) << 16);
/* Fold upcall mask into RFLAGS.IF. */
eflags =...
2006 Nov 30
4
evtchn_upcall_mask for PV-on-HVM
...ach time before xen returns to hvm domain, it checks
local_events_need_delivery to see whether any events pending and
if yes, inject event by callback_irq into the virtual interrupt
controller.
However, the interesting point is, we never found any place, either in
xen or in PV drivers, to clear evtchn_upcall_mask at any time. The
initial value of evtchn_upcall_mask is 1 which makes
local_events_need_delivery always return 0.
One possible reason why PV drivers still works in HVM is that
platform pci device happens to share irq line with another pci device
within Qemu. In that case, the irq from other pc...
2005 Aug 11
7
code question?
...that really I''m not sure
what the intent was..in xen/include/sched.h
#define hypercall_preempt_check() (unlikely( \
softirq_pending(smp_processor_id()) | \
(!!current->vcpu_info->evtchn_upcall_pending & \
!current->vcpu_info->evtchn_upcall_mask) \
))
the part where we have !!current->vcpu_info_evtchen_upcall pending
should this be..should the "!! just be "!"?
And if so shouldn''t this just be changed to
#define hypercall_preempt_check() (unlikely( \
softirq_pending(smp_processor_id()) | \...
2013 Jul 18
15
[PATCH v5 0/5] xen: public interface and foreign struct check changes for arm
I last posted this back in April to critical acclaim (AKA near total
silence).
I''m not sure who looks after tools/include/xen-foreign. I had thought it
was Jan but I think I was confused and was thinking of the semi-related
xen/include/compat stuff. IOW I think nobody felt "responsible".
Unless there''s any objection lets just treat this as coming under tools.
The
2008 Apr 01
0
[PATCH 007/112] Xen: Make events.c portable for ia64/xen support.
...irqreturn_t xen_debug_interrupt(int irq, void *dev_id)
for_each_online_cpu(i) {
struct vcpu_info *v = per_cpu(xen_vcpu, i);
printk("%d: masked=%d pending=%d event_sel %08lx\n ", i,
- (get_irq_regs() && i == cpu) ? !(get_irq_regs()->flags & X86_EFLAGS_IF) : v->evtchn_upcall_mask,
+ (get_irq_regs() && i == cpu) ? xen_irqs_disabled(get_irq_regs()) : v->evtchn_upcall_mask,
v->evtchn_upcall_pending,
v->evtchn_pending_sel);
}
@@ -527,7 +527,10 @@ void xen_evtchn_do_upcall(struct pt_regs *regs)
if (__get_cpu_var(nesting_count)++)
goto out;
-...
2008 Apr 01
0
[PATCH 007/112] Xen: Make events.c portable for ia64/xen support.
...irqreturn_t xen_debug_interrupt(int irq, void *dev_id)
for_each_online_cpu(i) {
struct vcpu_info *v = per_cpu(xen_vcpu, i);
printk("%d: masked=%d pending=%d event_sel %08lx\n ", i,
- (get_irq_regs() && i == cpu) ? !(get_irq_regs()->flags & X86_EFLAGS_IF) : v->evtchn_upcall_mask,
+ (get_irq_regs() && i == cpu) ? xen_irqs_disabled(get_irq_regs()) : v->evtchn_upcall_mask,
v->evtchn_upcall_pending,
v->evtchn_pending_sel);
}
@@ -527,7 +527,10 @@ void xen_evtchn_do_upcall(struct pt_regs *regs)
if (__get_cpu_var(nesting_count)++)
goto out;
-...
2008 Jun 19
0
[PATCH] ia64/xen: introduce definitions necessary for ia64/xen hypercalls.
...};
+ };
+ union {
+ unsigned long reserved5[128];
+ struct {
+ unsigned long precover_ifs;
+ unsigned long unat; /* not sure if this is needed
+ until NaT arch is done */
+ int interrupt_collection_enabled; /* virtual psr.ic */
+
+ /* virtual interrupt deliverable flag is
+ * evtchn_upcall_mask in shared info area now.
+ * interrupt_mask_addr is the address
+ * of evtchn_upcall_mask for current vcpu
+ */
+ unsigned char *interrupt_mask_addr;
+ int pending_interruption;
+ unsigned char vpsr_pp;
+ unsigned char vpsr_dfh;
+ unsigned char hpsr_dfh;
+ unsigned char hpsr_mf...
2008 Jun 19
0
[PATCH] ia64/xen: introduce definitions necessary for ia64/xen hypercalls.
...};
+ };
+ union {
+ unsigned long reserved5[128];
+ struct {
+ unsigned long precover_ifs;
+ unsigned long unat; /* not sure if this is needed
+ until NaT arch is done */
+ int interrupt_collection_enabled; /* virtual psr.ic */
+
+ /* virtual interrupt deliverable flag is
+ * evtchn_upcall_mask in shared info area now.
+ * interrupt_mask_addr is the address
+ * of evtchn_upcall_mask for current vcpu
+ */
+ unsigned char *interrupt_mask_addr;
+ int pending_interruption;
+ unsigned char vpsr_pp;
+ unsigned char vpsr_dfh;
+ unsigned char hpsr_dfh;
+ unsigned char hpsr_mf...
2007 Nov 02
0
[PATCH] PVWin: Fix warnings
...tsDisabled(WDFDEVICE Device,
WDF_POWER_DEVICE_STATE TargetState)
{
NTSTATUS status = STATUS_SUCCESS;
+
+ UNREFERENCED_PARAMETER(Device);
+ UNREFERENCED_PARAMETER(TargetState);
XenBus_Stop();
@@ -586,6 +568,8 @@ XenPCI_InterruptEnable(WDFINTERRUPT Inte
shared_info_area->vcpu_info[0].evtchn_upcall_mask = 0;
KdPrint((__DRIVER_NAME " <-- EvtInterruptEnable\n"));
+
+ return STATUS_SUCCESS;
}
static NTSTATUS
@@ -599,6 +583,8 @@ XenPCI_InterruptDisable(WDFINTERRUPT Int
shared_info_area->vcpu_info[0].evtchn_upcall_mask = 1;
KdPrint((__DRIVER_NAME " <-- EvtInterrup...
2008 Dec 17
36
[Patch 2 of 2]: PV-domain SMP performance Linux-part
--
Juergen Gross Principal Developer
IP SW OS6 Telephone: +49 (0) 89 636 47950
Fujitsu Siemens Computers e-mail: juergen.gross@fujitsu-siemens.com
Otto-Hahn-Ring 6 Internet: www.fujitsu-siemens.com
D-81739 Muenchen Company details: www.fujitsu-siemens.com/imprint.html
_______________________________________________
2008 Jul 17
0
[PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualized instructions for hand written assembly code
...r0; \
+ ;;
+
+/* pred will be clobbered */
+#define MASK_TO_PEND_OFS (-1)
+#define SSM_PSR_I(pred, pred_clob, clob) \
+(pred) movl clob = XSI_PSR_I_ADDR \
+ ;; \
+(pred) ld8 clob = [clob] \
+ ;; \
+ /* if (pred) vpsr.i = 1 */ \
+ /* if (pred) (vcpu->vcpu_info->evtchn_upcall_mask)=0 */ \
+(pred) st1 [clob] = r0, MASK_TO_PEND_OFS \
+ ;; \
+ /* if (vcpu->vcpu_info->evtchn_upcall_pending) */ \
+(pred) ld1 clob = [clob] \
+ ;; \
+(pred) cmp.ne.unc pred_clob, p0 = clob, r0 \
+ ;; \
+(pred_clob)XEN_HYPER_SSM_I /* do areal ssm psr.i */
+
+#d...
2012 Oct 02
18
[PATCH 0/3] x86: adjust entry frame generation
This set of patches converts the way frames gets created from
using PUSHes/POPs to using MOVes, thus allowing (in certain
cases) to avoid saving/restoring part of the register set.
While the place where the (small) win from this comes from varies
between CPUs, the net effect is a 1 to 2% reduction on a
combined interruption entry and exit when the full state save
can be avoided.
1: use MOV
2007 May 11
30
[patch 00/28]xen: Xen implementation for paravirt_ops
Hi Andi,
This series of patches implements the Xen paravirt-ops interface. It
applies to 2.6.21-git13 + patches-2.6.21-git7-070507-1.tar.gz (I think
"unwinder" is the only patch which doesn't apply to git13, and the
sched-clock patches are the only ones which this series actually
needs).
Changes since the last posting:
- More netfront review and cleanup
- Added ability to
2007 May 11
30
[patch 00/28]xen: Xen implementation for paravirt_ops
Hi Andi,
This series of patches implements the Xen paravirt-ops interface. It
applies to 2.6.21-git13 + patches-2.6.21-git7-070507-1.tar.gz (I think
"unwinder" is the only patch which doesn't apply to git13, and the
sched-clock patches are the only ones which this series actually
needs).
Changes since the last posting:
- More netfront review and cleanup
- Added ability to
2007 May 11
30
[patch 00/28]xen: Xen implementation for paravirt_ops
Hi Andi,
This series of patches implements the Xen paravirt-ops interface. It
applies to 2.6.21-git13 + patches-2.6.21-git7-070507-1.tar.gz (I think
"unwinder" is the only patch which doesn't apply to git13, and the
sched-clock patches are the only ones which this series actually
needs).
Changes since the last posting:
- More netfront review and cleanup
- Added ability to
2007 May 04
31
[patch 00/29] xen: Xen implementation for paravirt_ops
Hi Andi,
This series of patches implements the Xen paravirt-ops interface.
It applies to 2.6.21-git3 + ff patches-2.6.21-git3-070501-1.tar.gz.
Changes since the last posting:
- reviews of xenbus (me), netfront (hch, rusty, herbert xu) and
blockfront (hch), with most comments addressed. Netfront review
revealed a couple of real bugs, and the code for all three is looking
cleaner
2007 May 04
31
[patch 00/29] xen: Xen implementation for paravirt_ops
Hi Andi,
This series of patches implements the Xen paravirt-ops interface.
It applies to 2.6.21-git3 + ff patches-2.6.21-git3-070501-1.tar.gz.
Changes since the last posting:
- reviews of xenbus (me), netfront (hch, rusty, herbert xu) and
blockfront (hch), with most comments addressed. Netfront review
revealed a couple of real bugs, and the code for all three is looking
cleaner
2007 May 22
35
[patch 00/33] xen: Xen paravirt_ops implementation
Hi,
This is the Xen implementation for the paravirt_ops interface. The
series is based on 2.6.22-rc1-mm1, and I think its ready to be cooked
in -mm with a view to being merged in 2.6.23.
The first part of the series is some small changes to the core kernel.
Apart from the new code added in "Allocate and free vmalloc areas"
(posted many times before), they are simply a few one-liners
2007 May 22
35
[patch 00/33] xen: Xen paravirt_ops implementation
Hi,
This is the Xen implementation for the paravirt_ops interface. The
series is based on 2.6.22-rc1-mm1, and I think its ready to be cooked
in -mm with a view to being merged in 2.6.23.
The first part of the series is some small changes to the core kernel.
Apart from the new code added in "Allocate and free vmalloc areas"
(posted many times before), they are simply a few one-liners