use a global device table instead of allocating private tables for
each iommu. Migrate a few functions from pci_amd_iommu.c
Signed-off-by: Wei Wang <wei.wang2@amd.com>
I realized that I had failed to cover the hardware assisted paging
case in my earlier p2m_ram_ro patches. This should fix it.
Signed-off-by: Trolle Selander <trolle.selander@eu.citrix.com>
make should not have to regenerate the libxc and ioemu directories
since that is part of the mk-headers target. Use the subdirectory
clean targets instead to clean just the object files.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
The new merged qemu no longer has the ability to spawn a vnc viewer
process in the bowels of the xend/qemu stack. In this patch we
provide support for this use case in a different manner - one more
akin to the mechanism used for `xm console' and `xm create -c'.
We introduce new xm options:
xm create --vncviewer [--vncviewer-autopass]
xm vncviewer [--vncviewer-autopass]
These spawn a VNC viewer, obtaining the relevant information
(including the port number and if you tell it your viewer supports it
the password to use) directly from xenstore.
Like xm console it waits in the foreground for the vnc port to become
available; the timeout case isn't handled as well as it might be - it
just causes the whole program (xm) to die with `Alarm clock' but this
is difficult to deal with given the current structure of the xs Python
lowlevel interface, which doesn't provide a timeout on the call to
wait for a xenstore watch.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
This patch backports following changes of ioemu-remote to ioemu.
It fixs warning in tools/ioemu/hw/pass-through.h and
tools/ioemu/hw/pass-through.c.
commit 30f00a0284a5ee356de6f6095e52173f2234145b
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Fri Jul 18 16:02:23 2008 +0100
hw/pass-through.c: pt_unregister_regions returns void
It only ever falls off the end, and its return value is not used
by its one caller.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
commit 439836900dad41f66234d2a14981aa2a90d4d346
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Tue Jul 22 11:55:18 2008 +0100
Add missing cast for printf of maddr
commit cf5b00e6b714eb5f900d55471d85956b09cb8fd9
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu Jul 24 13:57:10 2008 +0100
pass-through.h: Sprinkle some #ifdefs to cope with pciutils-dev
versions
Some versions of pciutils-dev contain #defines which others are
lacking.
To avoid spurious compiler warnings we add some #ifdefs. *sigh*
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
If put dom0 RMRR check in domain_context_unmap_one(), the devices with
RMRR cannot be assigned to other domain, becuase
domain_context_unmap_one() won't unmap context for them, and dom0
always owns them. This patch moves the check to intel_iommu_remove_device()
which is only called by dom0 hypercall. This not only guarantees
keeping RMRR mappings for dom0 during its booting, but also won't
impact device assignment.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Xm did not shut down domains anymore when run in xen-api mode due to a
'None' parameter being passed to xend when looking up a domain. This
fixes the problem.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
This enables the usage of a bootloader, i.e., pygrub, when starting a
domain using xm in Xen-API mode.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Currently if someone changes the date on the host, xenconsoled may
behave incorrectly due to the use of gettimeofday for the rate control
algorithm. For example I was able to hang the console connected to a
guest just setting the date forward 20 years. To solve the problem we
need to use a time source that doesn't change start point, that is
clock_gettime with CLOCK_MONOTONIC. The only bad side effect is that
it introduces a dependency to librt, but I think is well worth it.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
OSPM (particularly the S3 firmware_waking_vector).
TODO: rombios must enter protected mode to fetch the vector on S3 resume.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen changeset 18125(ab1d7db3facb) changed some px init logic, which
has some effect to Px statistic and S3 suspend/resume logic.
This patch change Px control protection corresponding to changeset
18125.
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
This patch fixes an issue where a guest could get stuck if a write to
memory marked p2m_ram_ro happened from user mode. It would get
misinterpreted as a user-mode page-table write, and the "dummy write"
emulation necessary to skip over the instruction never got done. In
looking into this, I also discovered that the user-mode page-table
check is done in two places, the second (in emulate_map_dest) of which
can never be reached and is just a waste of cycles. Tim Deegan
requested that rather than completely removing that code, I'd leave it
in for debug-builds with an added warning-print.
Signed-off-by: Trolle Selander <trolle.selander@eu.citrix.com>
really *is* writable in that region. This is almost enough to get S3
working again (read-only firmware-waking-vector is still a problem).
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
In acpi_parse_one_drhd(), remove return directly when only one
INCLUDE_ALL check fails, so that avoid memory leak. In addition,
remove "dmaru->scope.devices_cnt == 0 && !dmaru->include_all" check,
due to PCI-PCI bridges are not counted.
This patch fixes bug #1307.
Signed-off-by: Weidong Han <weidong.han@intel.com>
- adjust_guest_l?e() shouldn't be called on non-guest entries
- unadjust_guest_l3e() should be called in the back-out loop of
alloc_l3_table()
- create_pae_xen_mappings() and pae_flush_pgd() shouldn't be called in
the failure case of mod_l3_entry()
Signed-off-by: Jan Beulich <jbeulich@novell.com>
1. Only useful for NUMA systems, so turn it off on non-NUMA systems by
default.
2. On NUMA systems, by default relate the DMA heap size to NUMA node 0
memory size (so that not all of node 0's memory ends up being 'DMA
heap').
3. Remove the 'dma emergency pool'. It's less useful now that running
out of low memory isn;t as fatal as it used to be (e.g., when we
needed to be able to allocate low-memory PAE page directories).
Based on patches by Andre Przywara and Xiaowei Yang.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Thus to avoid xen-pm being manually enforced by end user in dom0
cmdline but without enabling them in xen.
signed-off-by: Wei Gang <gang.wei@intel.com>
By repeating "xm debug-key t; xm dmesg | tail -N" in
dom0 (e.g. with the "watch" command), useful skew info
about the machine can be collected, which will be very
helpful for diagnosing customer problems on misbehaving
machines.
Patch details:
1) Min and max readings from the current sample are useless
so get rid of those but retain the current maxdif (stime skew).
2) Remember max of skew, sum of skews, and a count
so average skew can be displayed.
3) Also record info for cycles (tsc on x86, itc on ia64).
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>