This makes sure that there are no assumptions about NR_IRQS==NR_VECTORS
anymore, and it also renames various variables to properly reflect
what they represent.
While coded correctly, I wonder whether dump_irqs() shouldn't iterate
over the vector space rather than the irq space, so that MSI entries
are also processed.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
This patch allows domains to be resumed on different number of CPUs. After
c/s 18764, a domain cannot be resumed when _setCPUAffinity() fails, which
happens when affinity should be set to a non-existent CPU. This patch
makes _setCPUAffinity() errors nonfatal.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Each channel may have different settings, and in the original
implementation, other Tn configuration will accidently overwrite T0
configuration.
Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
platform_timer_stamp and stime_platform_stamp are synced
to platform timer in time calibration (1s interval), and
thus doesn't reflect the latest value. If they're not
synced at time suspend, the offset can be lost after S3
resume. Average 0.8s lag-behind is observed for each S3
action, which accumulates to TOD inaccuracy.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
r18383 mark video memory as ram, and make all valid pages migrated,
including vlapic page (0xFEE00), and share page(0xFFFFF).
An extra memory population for lapic page would override previous
mapping then cause HVM guest with vlapic acceleration hang.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Instead of round robin the vcpu with the lowest processor
priority is selected for the interrupt. If multiple vcpus
share the same low priority then interrupts are distributed between
those round robin.
Signed-off-by: Juergen Gross <juergen.gross@fujitsu-siemens.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
The pvops dom0 kernel does not expose the balloon driver via
/proc/xen, so use the sysfs interface.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
... as that's not really correct, and there are devices which can't
even cope with that. Instead, check whether an MSI IRQ can be masked,
and if it can't, treat it just like a level triggered IO-APIC IRQ.
There's one other bug fix in here, correcting an off-by-one error on
the entry_nr range check in __pci_enable_msix().
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Replace the guts of the HAP pagetable walker with a call to the
newly-commonified walker from the shadow code. This reduces
duplication, and gives HAP guests proper access control and A/D-bit
setting for memory accesses from the emulator
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Move the guest PT walker into its own file, and purge it of references
to the rest of the shadow code.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Move the definitions of guest pagetable types and the guest pagetable
walk record out of the shadow-code headers into asm-x86.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
In top of the highmem asstance hypercalls added earlier, this provides
a performance improvement of another 12% (measured on Xeon E5345) for
the page copying case.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Both idle and HVM vCPU-s can easily run on the GDT mapped into general
hypervisor space (rather than that placed in per-vCPU virtual space).
This makes unnecessary some of the additions c/s 18520 did.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
The debuggee domain will die with unexpected trap
on single stepping of emulated instruction.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
iommu_suspend(), iommu_resume(), iommu_enable() translation don't have
meaningful return values. Changed their function types to void.
Signed-off-by: Allen Kay <allen.m.kay@intel.com>
Move affinity-setting logic into its own function and call from
relevant places.
From: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
net/if.h is a standard header but unfortunately lwip doesn't provide
it for any target but linux. Therefore I am adding a net/if.h, with an
empty implementation of the declared functions.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
reserved fields
Some BIOS does not zero out reserve fields in IOAPIC RTE's.
clear_IO_APIC() zeroes out all RTE's except for RTE with MSI delivery
type. This is a problem when the host OS converts SMI delivery type
to some other type but leaving the reserved field uninitialized. This
can cause interrupt remapping table out of bound error if "format"
field is 1 and the uninitialized "index" field has a value that that
is larger than the maximum index of interrupt remapping table.
Signed-off-by: Allen Kay <allen.m.kay@intel.com>=
Hugepage support must be enabled via the hypervisor command line
option "allowhugepage". There is currently no support in the tools for
saving/restoring/migrating guests who use hugepages.
Signed-off-by: Dave McCracken <dave.mccracken@oracle.com>
The net changes of this patch are that the reader-side lock is put
into the path of the migration code and the writer lock into the path
of the code that handles the changing of the policy. Simultaneous
migrations of multiple hosts still work after this lock has been added.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
This patch adds a reader-writer lock primitive to xend since python
does not provide it by default. The implementation is based on a
condition variable. Some test code is appended at the end of the file.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>