domains_lock. This makes the VM.start call blocking, but allows xm list to
work while it is blocked. Move the handling of start_paused out of
XendDomainInfo.start as part of this.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
unpause the VM on start by default. This should fix problems seen recently
whereby devices are not attached to the VM by the time they boot, as
xm create was expecting to be able to wait for the devices before unpausing.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
targets, because it introduces an additional dependency (libcurl), but
make test/test_bindings does the right thing.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
for the RSDP in memory (up to the BIOS) rather than calculating its
start address. Recent changes seem to have moved the RSDP to another
location in memory so that I received 'BAD RSPD signature' messages.
I have also fixed some other possible issues related to return codes
and alignment of ACPI entries.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
While the kernel side of blktap drivers is using 64-bit sector numbers
correctly when reporting disk sizing, the userspace parts where this
dat is actually generated is truncating at 32-bit. There are 3 variables
related to disk sizing which are used in the kernel/userspace code
'size', 'sector size' & 'info'. In kernel space these are treated as being
unsigned long long, unsigned long, and unsigned int, respectively. In
the blktap userspace code this were all varyingly long, unsigned long.
This mismatch caused 32-bit wraparound on large disks. The attached
patch updates the blktap userspace to use the same data types as
kernel space for all these params, thus both fixing the 32-bit bug &
giving the code consistency.
This patch has been tested both by comparing /proc/partitions in the
guest, with the image size seen in the host, and by using Stephen
Tweedie's 'verify-data' tool on a variety of multi-TB sized disks.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
The default config read/write handlers allows a 4-byte read/write at
address 255. This can clobber the field after the config area. This
happens to be the PCIBus pointer in the PCIDevice structure.
This patch stops this from reducing the read/write to the (largest
multiple of 2) number of bytes within the config area.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
this handled by a new message (xend.domains_with_state) and make xend.domains
equivalent to xend.domains_with_state(running). This restores the Xen 3.0.3
semantics of xend.domains.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
to use PAM, or to be turned off entirely, on a listener by listener basis.
Listen on a different unix domain socket for the Xen-API server, so that it
can co-exist with the others.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
code from the relocation protocol handling and some plumbing. Add a new
configuration entry for the Xen-API server, including use of this mechanism.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Also simplify the HVM builder interface by doing more work in
the python wrapper, and fix mapping of shared_info page after the
change to map foreign pages by GMFN rather than MFN.
Signed-off-by: Keir Fraser <keir@xensource.com>
Add a resumed domain to the self.domains list after XendCheckpoint.restore,
to ensure that it does not get recreated immediately afterwards.
Perform domain_resume under the domains_lock, given that the domain needs to
be added.
These fixes together should fix xm suspend and xm resume.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
1. Balloon driver does not need to set M2P entry.
This is done by the populate_physmap hypercall.
2. Xen now translates foreign mappings from GMFN->MFN.
Tools are simplified because of this.
Signed-off-by: Keir Fraser <keir@xensource.com>
shutting down -- they don't have exit handling themselves and ought to just
be made daemon threads.
Added some logging to dialog shutdown problems.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Actually the conflict between LAPIC ID 0x00 and IOAPIC ID 0x00
really doesn't matter even in a native system but we can avoid
any risk of a warning by shifting the LAPIC ID space by one.
Also the changeset fixes construction of the MADT (LAPIC info
was overwriting the IOAPIC info) so we can now boot with ACPI
MADT again.
Signed-off-by: Keir Fraser <keir@xensource.com>
In fdctrl_start_transfer the sector size field (fifo[5]) is not
checked for overflows. This allows an arbitrarily large sector size
to be used, which can in turn result in a negative data_len field that
is then used for DMA transfers.
This can lead to the corrpuption of qemu state because some subsequent
checks on the transfer length is conducted using signed integers.
This patch limits the value fifo[5] to 7 which is the standard limit
on floppy sector size.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1. Override ISA IRQs 5,6,10,11 as active-low level-triggered.
These are 'wired' to PCI devices.
2. Limit PCI-ISA link routers to route to 5,6,10,11. Others
are active-high edge-triggered and so invalid to use for
PCI devices. In any case, four ISA IRQs is sufficient to
avoid unnecessary aliasing among four links.
Also remove PCI device 0 IRQ info. It's an embedded host bridge with
no interrupt sources.
Signed-off-by: Keir Fraser <keir@xensource.com>
Use xc_domain_memory_populate_physmap() to allocate memory and
build P2M/M2P table in setup_guest(). vmx_build_physmap_table()
is only used to mark IO space now.
Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
The Xen IPI spec states that destroy, hard_shutdown, pause, resume, start, suspend, and unpause return void. This patch makes it so and permits proper parsing of the response by clients (libxen) that follow the spec.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
Thanks to Ewan Mellor, Anthony Liguori, and Daniel P. Berrange for
pointing out problems with and solutions for the problems with the
first version.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
TODO:
1. Fix IO-APIC ID to not conflict with LAPIC IDS.
2. Fix i8259 device model (seems to work already though!).
3. Add INTSRC overrides in MPBIOS and ACPI tables so
that PCI legacy IRQ routing always ends up at an
IO-APIC input with level trigger. Restricting link
routing to {5,6,10,11} and setting overrides for all
four of those would work.
Signed-off-by: Keir Fraser <keir@xensource.com>