]> xenbits.xensource.com Git - xen.git/log
xen.git
14 years agox86, pm: provide core/package cstate residencies
Keir Fraser [Mon, 12 Jul 2010 17:30:26 +0000 (18:30 +0100)]
x86, pm: provide core/package cstate residencies

According to Intel 64 and IA32 Architectures SDM 3B Appendix B, Intel
Nehalem/Westmere processors provide h/w MSR to report the core/package
cstate residencies. Extend sysctl_get_pmstat interface to pass the
core/package cstate residencies.

Signed-off-by: Wei Gang <gang.wei@intel.com>
14 years agoConsolidate MSI-X related definitions
Keir Fraser [Mon, 12 Jul 2010 09:48:34 +0000 (10:48 +0100)]
Consolidate MSI-X related definitions

Eliminate redundant ones, fix names (where so far inappropriately
referring to capability structure fields the don't really relate to),
use symbolic names instead of raw numbers, and remove an unusable one.

No functional change intended.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agox86 cpufreq: Fix debug=y build.
Keir Fraser [Mon, 12 Jul 2010 09:48:04 +0000 (10:48 +0100)]
x86 cpufreq: Fix debug=y build.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agox86: allow the MSI-X table to reside beyond 4G even on 32-bit systems
Keir Fraser [Mon, 12 Jul 2010 09:43:57 +0000 (10:43 +0100)]
x86: allow the MSI-X table to reside beyond 4G even on 32-bit systems

Underlying interfaces allow this, and unduly (and silently) truncating
addresses doesn't seem nice.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agox86: prevent simultaneous use of MSI and MSI-X
Keir Fraser [Mon, 12 Jul 2010 09:43:34 +0000 (10:43 +0100)]
x86: prevent simultaneous use of MSI and MSI-X

This matches similar checks done in Linux, since no good can come from
a domain trying to enable both MSI and MSI-X on the same device at the
same time.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agox86: fix a benign typo
Keir Fraser [Mon, 12 Jul 2010 09:43:10 +0000 (10:43 +0100)]
x86: fix a benign typo

Just to avoid confusing readers - no functional change.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agox86/cpufreq: pass pointers to cpu masks where possible
Keir Fraser [Mon, 12 Jul 2010 09:41:48 +0000 (10:41 +0100)]
x86/cpufreq: pass pointers to cpu masks where possible

This includes replacing the bogus definition of cpumask_test_cpu()
(introduced by c/s 20073) with a Linux compatible one and replacing
the bad uses with cpu_isset().

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agoupdate QEMU_TAG to 833e7e9a4c95739429dc0c803bbbf2346f9897fd
Ian Jackson [Fri, 9 Jul 2010 17:49:12 +0000 (18:49 +0100)]
update QEMU_TAG to 833e7e9a4c95739429dc0c803bbbf2346f9897fd

14 years agotools/hotplug: xencommons: xenconsoled tracing
Ian Jackson [Fri, 9 Jul 2010 17:46:07 +0000 (18:46 +0100)]
tools/hotplug: xencommons: xenconsoled tracing

cut and paste error lead to using the xenstored command line syntax
for xenconsoled.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
14 years agox86 hvm: Add a hypercall to allow HVM PV drivers to insert xentrace records
Keir Fraser [Fri, 9 Jul 2010 16:16:41 +0000 (17:16 +0100)]
x86 hvm: Add a hypercall to allow HVM PV drivers to insert xentrace records

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agox86 hvm: Add a new HVMOP to get the current Xen system time
Keir Fraser [Fri, 9 Jul 2010 16:16:03 +0000 (17:16 +0100)]
x86 hvm: Add a new HVMOP to get the current Xen system time

Xen absolute system time, so that it can use SCHEDOP_poll in a
sensible fashion.  HVM PV drivers can't use the normal PV clock
because they might have TSC offsets that hey don't know about.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agoiommu: New options iommu=dom-strict and iommu=dom0-passthrough
Keir Fraser [Fri, 9 Jul 2010 15:45:42 +0000 (16:45 +0100)]
iommu: New options iommu=dom-strict and iommu=dom0-passthrough

The former strips dom0 of its usual 1:1 mapping of all memory, and
only provides it with mappings of its own memory, like any other
domain. The latter is a new consistent name for iommu=passthrough.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoiommu: Remove pointless iommu=pv boot option.
Keir Fraser [Fri, 9 Jul 2010 14:39:35 +0000 (15:39 +0100)]
iommu: Remove pointless iommu=pv boot option.

Allow devices to always be passed through to PV domains, just as they
can be to HVM domains.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoMerge
Keir Fraser [Fri, 9 Jul 2010 11:35:58 +0000 (12:35 +0100)]
Merge

14 years agohvmloader: customize the SMBIOS strings based on xenstore keys
Keir Fraser [Fri, 9 Jul 2010 11:34:40 +0000 (12:34 +0100)]
hvmloader: customize the SMBIOS strings based on xenstore keys

...written at domain creation time by xapi.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agohvmloader: Add a xenbus frontend so it can read values from xenstore
Keir Fraser [Fri, 9 Jul 2010 11:33:57 +0000 (12:33 +0100)]
hvmloader: Add a xenbus frontend so it can read values from xenstore

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agotrace: Trace emulated RDTSC values
Keir Fraser [Fri, 9 Jul 2010 11:28:03 +0000 (12:28 +0100)]
trace: Trace emulated RDTSC values

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agotrace: Reinstate tracing for emulated MSR reads and writes
Keir Fraser [Fri, 9 Jul 2010 11:27:45 +0000 (12:27 +0100)]
trace: Reinstate tracing for emulated MSR reads and writes

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agoEliminate unnecessary NR_CPUS-sized arrays from 't' key handler
Keir Fraser [Fri, 9 Jul 2010 11:25:07 +0000 (12:25 +0100)]
Eliminate unnecessary NR_CPUS-sized arrays from 't' key handler

Replace them with per-CPU data.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agocpufreq: eliminate unnecessary NR_CPUS-sized arrays
Keir Fraser [Fri, 9 Jul 2010 11:24:41 +0000 (12:24 +0100)]
cpufreq: eliminate unnecessary NR_CPUS-sized arrays

Replace them with per-CPU data.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agox86/svm: eliminate unnecessary NR_CPUS-sized arrays
Keir Fraser [Fri, 9 Jul 2010 11:24:15 +0000 (12:24 +0100)]
x86/svm: eliminate unnecessary NR_CPUS-sized arrays

Replace them with per-CPU data.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agox86/mce: eliminate unnecessary NR_CPUS-sized arrays
Keir Fraser [Fri, 9 Jul 2010 11:23:52 +0000 (12:23 +0100)]
x86/mce: eliminate unnecessary NR_CPUS-sized arrays

Replace them with per-CPU data.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agoMakefile: Serialise stubdom build after tools
Keir Fraser [Fri, 9 Jul 2010 11:22:52 +0000 (12:22 +0100)]
Makefile: Serialise stubdom build after tools

Currently "make stubdom" on its own fails because it depends on files
being installed by the results of "make tools".  This also means that
in some circumstances a parallel "make tools stubdom" (or "make all")
can fail due to races.  So make "make stubdom" depend on "make tools"
having completed first.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agoxen: allow HVM save/restore from different cpus
Keir Fraser [Fri, 9 Jul 2010 11:22:35 +0000 (12:22 +0100)]
xen: allow HVM save/restore from different cpus

The hardware CPUID-levelling features level the feature flags but
don't change the CPU family/model/stepping.  Relax the HVM restore
check on family/model/stepping to printk but not veto the load, so
that VMs can be migrated between machines that have been
CPUID-levelled.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agoxen: allow HVM save/restore from different changesets
Keir Fraser [Fri, 9 Jul 2010 11:22:00 +0000 (12:22 +0100)]
xen: allow HVM save/restore from different changesets

Allow HVM save/restore from different changesets of Xen.  The HVM save
records are supposed to be backwards compatible; XenServer
live-migrates between versions of Xen during upgrades.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agomce: Replace BUG() with a console warning in the MCE handler.
Keir Fraser [Fri, 9 Jul 2010 11:21:31 +0000 (12:21 +0100)]
mce: Replace BUG() with a console warning in the MCE handler.

If the hardware reports corrected errors that we didn't see through
the status MSRs, complain on the console but don't BUG() the machine.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agotools/libxl: implement support for nomigrate option in VM profiles
Ian Jackson [Thu, 8 Jul 2010 16:54:42 +0000 (17:54 +0100)]
tools/libxl: implement support for nomigrate option in VM profiles

Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
14 years agotools/libxl: Read soundhw option and pass it on to qemu
Ian Jackson [Thu, 8 Jul 2010 16:53:19 +0000 (17:53 +0100)]
tools/libxl: Read soundhw option and pass it on to qemu

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
14 years agotools/xentrace: increase default xentrace buffer size.
Ian Jackson [Thu, 8 Jul 2010 16:39:00 +0000 (17:39 +0100)]
tools/xentrace: increase default xentrace buffer size.

increase default xentrace buffer size to reduce the number of
lost records.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agotools/libxl/xl: fix for short BDF (without domain specified)
Ian Jackson [Thu, 8 Jul 2010 16:22:18 +0000 (17:22 +0100)]
tools/libxl/xl: fix for short BDF (without domain specified)

Check that BDF have been parsed correctly.  Before this fix, BDF could
be parsed incorrectly if user omitted the domain.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Contributed-by: Sergey Tovpeko <tsv.devel@gmail.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
14 years agotools/debugger/gdbsx: build enabled by default
Ian Jackson [Thu, 8 Jul 2010 15:50:34 +0000 (16:50 +0100)]
tools/debugger/gdbsx: build enabled by default

Submitted-by: Bruce Edge <bruce.edge@gmail.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agoxend: Continue domain building even if memshr extensions are not
Keir Fraser [Thu, 8 Jul 2010 08:56:10 +0000 (09:56 +0100)]
xend: Continue domain building even if memshr extensions are not
present in the hypervisor.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoxen: make the shadow allocation hypercalls include the p2m memory
Keir Fraser [Thu, 8 Jul 2010 08:52:51 +0000 (09:52 +0100)]
xen: make the shadow allocation hypercalls include the p2m memory
in the total shadow allocation. This makes the effect of allocation
changes consistent regardless of p2m activity on boot.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agoxen: use s_time_t for periodic timer deadlines.
Keir Fraser [Thu, 8 Jul 2010 08:52:34 +0000 (09:52 +0100)]
xen: use s_time_t for periodic timer deadlines.

Otherwise vcpu_periodic_timer_work() can think the next timer is in
the future (and re-issue it unchanged) while timer_softirq_action()
thinks it's in the past (and fires it immediately), leading to
livelock.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agorombios: use explicit SS prefix for calculated on-stack array accesses.
Keir Fraser [Thu, 8 Jul 2010 08:52:01 +0000 (09:52 +0100)]
rombios: use explicit SS prefix for calculated on-stack array accesses.

The bcc compiler gets constant array offsets right but does all
calculated array offsets via DS.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agorombios: move the stack to 0x9e000 and protect it with an e820 entry
Keir Fraser [Thu, 8 Jul 2010 08:51:40 +0000 (09:51 +0100)]
rombios: move the stack to 0x9e000 and protect it with an e820 entry
so that we don't corrupt E820_RAM memory with stack ops in S3 wakeup.
It has to move up so the lowest contiguous RAM area is >= 512MiB.

This relies on the previous fix to let DS != SS

Signed-off-by: Paul Durrant <Paul.Durrant@citrix.com>
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agorombios: wait 30s after a failed boot
Keir Fraser [Thu, 8 Jul 2010 08:46:09 +0000 (09:46 +0100)]
rombios: wait 30s after a failed boot

Prevents waiting forever for a keypress that may never come if boot is
unattended.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agox86/mce: use cpu_online() instead of cpu_isset(,cpu_online_map)
Keir Fraser [Thu, 8 Jul 2010 08:45:11 +0000 (09:45 +0100)]
x86/mce: use cpu_online() instead of cpu_isset(,cpu_online_map)

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agox86/cpufreq: check array index before use
Keir Fraser [Thu, 8 Jul 2010 08:44:46 +0000 (09:44 +0100)]
x86/cpufreq: check array index before use

... rather than after.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agoMerge
Keir Fraser [Tue, 6 Jul 2010 16:58:37 +0000 (17:58 +0100)]
Merge

14 years agotools/libxl: revert 15bcf57fcf24 (disable_migrate)
Ian Jackson [Tue, 6 Jul 2010 16:38:19 +0000 (17:38 +0100)]
tools/libxl: revert 15bcf57fcf24 (disable_migrate)

That patch is entirely wrong.  xc_domain_disable_migrate does not work
like that, and the config parameter is misnamed.

14 years agotools/ocaml: Fix up ocaml build for timer_mode, hpet and vpt_align
Ian Jackson [Tue, 6 Jul 2010 16:31:04 +0000 (17:31 +0100)]
tools/ocaml: Fix up ocaml build for timer_mode, hpet and vpt_align

c/s da46b25cf17d broke the ocaml build.  This fixes it.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agotools/libxl: support the "disable_migrate" domain config option
Ian Jackson [Tue, 6 Jul 2010 16:22:39 +0000 (17:22 +0100)]
tools/libxl: support the "disable_migrate" domain config option

Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
14 years agotools/libxl: allow setting of timer_mode, hpet and vpt_align parameters
Ian Jackson [Tue, 6 Jul 2010 15:55:49 +0000 (16:55 +0100)]
tools/libxl: allow setting of timer_mode, hpet and vpt_align parameters

Implement parsing for timer_mode, hpet and vpt_align parameters.

These are all HVM only parameters and hpet/vpt_align are boolean so
change types and place in hvm union accordingly. Also HPET is x86 only
on principle so make this compile-time conditional on arch as-is
viridian.

Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
14 years agox86: eliminate unused "quad_local_to_mp_bus_id"
Keir Fraser [Tue, 6 Jul 2010 15:55:02 +0000 (16:55 +0100)]
x86: eliminate unused "quad_local_to_mp_bus_id"

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agorombios: fix implicit assumption that DS == SS
Keir Fraser [Tue, 6 Jul 2010 15:51:54 +0000 (16:51 +0100)]
rombios: fix implicit assumption that DS == SS
by passing boot device info by value, not by reference.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agorombios: pause for a keypress after a failed boot
Keir Fraser [Tue, 6 Jul 2010 15:49:59 +0000 (16:49 +0100)]
rombios: pause for a keypress after a failed boot

rombios: inform the user and pause for a keypress after a failed boot
rather than powering off immediately.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agotools/hotplug: locking.sh script: fix lock directory remains on error bug
Ian Jackson [Tue, 6 Jul 2010 12:10:14 +0000 (13:10 +0100)]
tools/hotplug: locking.sh script: fix lock directory remains on error bug

_release_lock should be used instead of release_lock.
sigerr is introduced so that it can be redefined by
xen-hotplug-common.sh to a version which writes error status to xenstore.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
14 years agotools/xenstore: add XS_RESTRICT operation to C xenstore client libs.
Ian Jackson [Tue, 6 Jul 2010 10:57:20 +0000 (11:57 +0100)]
tools/xenstore: add XS_RESTRICT operation to C xenstore client libs.

The OCaml xenstored supports the XS_RESTRICT operation, which
deprivileges a dom0 xenstore connection so it can only affect one
domain's entries.   Add the relevant definitions to the C libraries
so that callers can use it.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agoMerge
Ian Jackson [Tue, 6 Jul 2010 10:54:40 +0000 (11:54 +0100)]
Merge

14 years agoAdd an exact-node request flag for mem allocations.
Keir Fraser [Mon, 5 Jul 2010 07:40:26 +0000 (08:40 +0100)]
Add an exact-node request flag for mem allocations.

Signed-off-by : Dulloor <dulloor@gmail.com>

14 years agox2APIC: improve enabling logic
Keir Fraser [Mon, 5 Jul 2010 07:31:29 +0000 (08:31 +0100)]
x2APIC: improve enabling logic

This patch masks PIC and IOAPIC RTE's before x2APIC enabling, unmask
and restore them after x2APIC enabling. It also really enables
interrupt remapping before x2APIC enabling instead of just checking
interrupt remapping setting. This patch also handles all x2APIC
configuration including BIOS settings and command line
settings. Especially, it handles that BIOS hands over in x2APIC mode
(when there is apic id > 255). It checks if x2APIC is already enabled
by BIOS. If already enabled, it will disable interrupt remapping and
queued invalidation first, then enable them again.

Signed-off-by: Weidong Han <weidong.han@intel.com>
14 years agox2APIC/VT-d: improve interrupt remapping and queued invalidation enabling and disabling
Keir Fraser [Mon, 5 Jul 2010 07:30:25 +0000 (08:30 +0100)]
x2APIC/VT-d: improve interrupt remapping and queued invalidation enabling and disabling

x2APIC depends on interrupt remapping, so interrupt remapping needs to
be enabled before x2APIC. Usually x2APIC is not enabled
(x2apic_enabled=0) when enable interrupt remapping, although x2APIC
will be enabled later. So it needs to pass a parameter to set
interrupt mode in intremap_enable, instead of checking
x2apic_enable. This patch adds a parameter "eim" to intremap_enable to
achieve it.  Interrupt remapping and queued invalidation are already
enabled when enable x2apic, so it needn't to enable them again when
setup iommu. This patch checks if interrupt remapping and queued
invalidation are already enable or not, and won't enable them if
already enabled. It does the similar in disabling, that's to say don't
disable them if already disabled.

Signed-off-by: Weidong Han <weidong.han@intel.com>
14 years agox2APIC/VT-d: allocate iommu when create a drhd
Keir Fraser [Mon, 5 Jul 2010 07:29:10 +0000 (08:29 +0100)]
x2APIC/VT-d: allocate iommu when create a drhd

A drhd is created when parse ACPI DMAR table, but drhd->iommu is not
allocated until iommu setup. But iommu is needed by x2APIC which will
enable interrupt remapping before iommu setup. This patch allocates
iommu when create drhd. And then drhd->ecap can be removed because
it's the same as iommu->ecap.

Signed-off-by: Weidong Han <weidong.han@intel.com>
14 years agoVT-d: No need to emulate WBINVD when force snooping feature available
Keir Fraser [Mon, 5 Jul 2010 07:28:08 +0000 (08:28 +0100)]
VT-d: No need to emulate WBINVD when force snooping feature available

There is no cache coherency issue if VT-d engine's force snooping
feature available.

Signed-off-by: Sheng Yang <sheng@linux.intel.com>
14 years agoVMX: fix ept pages free up when ept superpage split fails:
Keir Fraser [Mon, 5 Jul 2010 07:27:26 +0000 (08:27 +0100)]
VMX: fix ept pages free up when ept superpage split fails:
1) implement ept super page split in a recursive way to
   form an ept sub tree before real installation;
2) free an ept sub tree also in a recursive way.
3) change ept_next_level last input parameter from shift
   bits # to next walk level;

Signed-off-by: Xin Li <xin.li@intel.com>
14 years agotrace: insert compiler memory barriers
Keir Fraser [Mon, 5 Jul 2010 07:24:18 +0000 (08:24 +0100)]
trace: insert compiler memory barriers

This is to ensure fields shared writably with Dom0 get read only once
for any consistency checking followed by actual calculations.

I realized there was another multiple-read issue, a fix for which is
also included (which at once simplifies __insert_record()).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agoAMD OSVW (OS Visible Workaround) for Xen
Keir Fraser [Fri, 2 Jul 2010 18:04:57 +0000 (19:04 +0100)]
AMD OSVW (OS Visible Workaround) for Xen

This path enables AMD OSVW (OS Visible Workaround) feature for
Xen. New AMD errata will have a OSVW id assigned in the future. OS is
supposed to check OSVW status MSR to find out whether CPU has a
specific erratum. Legacy errata are also supported in this patch:
traditional family/model/stepping approach will be used if OSVW
feature isn't applicable.  This patch is adapted from Hans Rosenfeld's
patch submitted to Linux kernel.

Signed-off-by: Wei Huang <wei.huang2@amd.com>
Signed-off-by: Hans Rosenfeld <hands.rosenfeld@amd.com>
Acked-by: Jan Beulich <jbeulich@novell.com>
14 years agox86: Fix (bogus) use-before-initialise compiler warning.
Keir Fraser [Fri, 2 Jul 2010 18:03:16 +0000 (19:03 +0100)]
x86: Fix (bogus) use-before-initialise compiler warning.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoVMX: cleanup ept_set_entry:
Keir Fraser [Fri, 2 Jul 2010 18:00:04 +0000 (19:00 +0100)]
VMX: cleanup ept_set_entry:
1) more strict input parameters checking;
2) better comments;
3) fewer variable;
4) change direct_mmio type to bool_t.

Signed-off-by: Xin Li <xin.li@intel.com>
14 years agoRemove stale file xen/arch/x86/hvm/vmx/vpmu.c
Keir Fraser [Fri, 2 Jul 2010 17:59:36 +0000 (18:59 +0100)]
Remove stale file xen/arch/x86/hvm/vmx/vpmu.c

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoio: make shared ring pad field less enticing for users by adding a __ prefix
Keir Fraser [Fri, 2 Jul 2010 17:58:28 +0000 (18:58 +0100)]
io: make shared ring pad field less enticing for users by adding a __ prefix

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Dongxiao Xu <dongxiao.xu@intel.com>
14 years agoblktap2: make protocol specific usage of shared sring explicit
Keir Fraser [Fri, 2 Jul 2010 17:58:02 +0000 (18:58 +0100)]
blktap2: make protocol specific usage of shared sring explicit

I don't think protocol specific data really belongs in this header
but since it is already there and we seem to be stuck with it let's at
least make the users explicit lest people get caught out by future new
fields moving the pad field around.

This is the Xen portion of this change. The kernel portion will be
sent separately. There is no dependency between the two.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Dongxiao Xu <dongxiao.xu@intel.com>
14 years agotrace: fix security issues
Keir Fraser [Fri, 2 Jul 2010 17:56:34 +0000 (18:56 +0100)]
trace: fix security issues

After getting a report of 3.2.3's xenmon crashing Xen (as it turned
out this was because c/s 17000 was backported to that tree without
also applying c/s 17515), I figured that the hypervisor shouldn't rely
on any specific state of the actual trace buffer (as it is shared
writable with Dom0)

[GWD: Volatile quantifiers have been taken out and moved to another
patch]

To make clear what purpose specific variables have and/or where they
got loaded from, the patch also changes the type of some of them to be
explicitly u32/s32, and removes pointless assertions (like checking an
unsigned variable to be >= 0).

I also took the prototype adjustment of __trace_var() as an
opportunity to simplify the TRACE_xD() macros. Similar simplification
could be done on the (quite numerous) direct callers of the function.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agotrace: adjust printk()s
Keir Fraser [Fri, 2 Jul 2010 17:53:37 +0000 (18:53 +0100)]
trace: adjust printk()s

They should be lower level or rate limited.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agotrace: improve check_tbuf_size()
Keir Fraser [Fri, 2 Jul 2010 17:53:10 +0000 (18:53 +0100)]
trace: improve check_tbuf_size()

It didn't consider the case of the incoming size not allowing for the
2*data_size range for t_buf->{prod,cons}

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agotrace: Fix T_INFO_FIRST_OFFSET calculation
Keir Fraser [Fri, 2 Jul 2010 17:52:45 +0000 (18:52 +0100)]
trace: Fix T_INFO_FIRST_OFFSET calculation

This wasn't defined correctly, thus allowing in the
num_online_cpus() == NR_CPUS case to pass a corrupted MFN to
Dom0.

Reported-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agogdbsx: Always build -- remove build-time config option.
Keir Fraser [Fri, 2 Jul 2010 17:52:12 +0000 (18:52 +0100)]
gdbsx: Always build -- remove build-time config option.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoupdate QEMU_TAG to add968aaf68cb57257428f8cfadb209f2614a6d8
Ian Jackson [Fri, 2 Jul 2010 17:04:54 +0000 (18:04 +0100)]
update QEMU_TAG to add968aaf68cb57257428f8cfadb209f2614a6d8

14 years agotools/pygrub: --not-really option for debugging
Ian Jackson [Fri, 2 Jul 2010 16:57:53 +0000 (17:57 +0100)]
tools/pygrub: --not-really option for debugging

Add a --not-really option to pygrub that lets us see what files it would
have extracted instead of actually extracting them.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agotools/pygrub: Fix a typo handling device specs with no partition part
Ian Jackson [Fri, 2 Jul 2010 16:56:05 +0000 (17:56 +0100)]
tools/pygrub: Fix a typo handling device specs with no partition part

pygrub: fix a typo that causes exceptions when looking at device
specifications that don't have a partition part (e.g. (hd0)).

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agotools/debugger/gdb: Remove gdb
Ian Jackson [Fri, 2 Jul 2010 16:46:01 +0000 (17:46 +0100)]
tools/debugger/gdb: Remove gdb

This code is not maintained, does not work properly, and no-one is
using it.  Delete it, following discussion on xen-devel.

14 years agoMerge
Ian Jackson [Fri, 2 Jul 2010 16:34:44 +0000 (17:34 +0100)]
Merge

14 years agoxenpaging: Fix 32-bit build after fixed-width type changes.
Keir Fraser [Wed, 30 Jun 2010 21:12:54 +0000 (22:12 +0100)]
xenpaging: Fix 32-bit build after fixed-width type changes.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoFix #GPF injection into compat guests in vm86 code
Keir Fraser [Wed, 30 Jun 2010 17:12:43 +0000 (18:12 +0100)]
Fix #GPF injection into compat guests in vm86 code

not to let the guest disable interrupts in the real EFLAGS.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
14 years agoUse gfn_to_mfn_query() rather then gfn_to_mfn() when changing P2M types
Keir Fraser [Wed, 30 Jun 2010 17:11:42 +0000 (18:11 +0100)]
Use gfn_to_mfn_query() rather then gfn_to_mfn() when changing P2M types

Use gfn_to_mfn_query() rather then gfn_to_mfn() when changing
P2M types since we do not really want to force a PoD allocation
as a side effect.

Signed-off-by: Paul Durrant <Paul.Durrant@citrix.com>
14 years agox86: fix an off-by-one pirq range check
Keir Fraser [Wed, 30 Jun 2010 17:11:09 +0000 (18:11 +0100)]
x86: fix an off-by-one pirq range check

Signed-off-by: Jan Beulich <jbeulich@novell.com>
14 years agoVMX: remove useless super page recomputing in ept_set_entry.
Keir Fraser [Wed, 30 Jun 2010 17:09:16 +0000 (18:09 +0100)]
VMX: remove useless super page recomputing in ept_set_entry.

Caller to ept_set_entry must give a valid order that hardware
supports, see set_p2m_entry in p2m.c.

Signed-off-by: Xin Li <xin.li@intel.com>
14 years agox86 oprofile: use rdmsrl/wrmsrl
Keir Fraser [Tue, 29 Jun 2010 17:20:14 +0000 (18:20 +0100)]
x86 oprofile: use rdmsrl/wrmsrl

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
14 years agotrace: share t_info pages only in read-only mode
Keir Fraser [Tue, 29 Jun 2010 17:18:42 +0000 (18:18 +0100)]
trace: share t_info pages only in read-only mode

There's no need to share writably the t_info pages (Dom0 only wants
[and needs] to read it)

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agoUse fixed-width types in the memory event interface
Keir Fraser [Tue, 29 Jun 2010 17:17:44 +0000 (18:17 +0100)]
Use fixed-width types in the memory event interface

Set the types in the public memory_event header file to use
fixed-sized and self-aligned fields rather than "unsigned long".  AIUI
this feature only works with 64-bit hypervisors but I think this
change will be necessary to use 32-on-64 dom0 tools.

This breaks compatibility with older builds of the tools, but I can't
see any way to avoid it short of __attribute__((__packed__)).

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Acked-by: Patrick Colp <pjcolp@cs.ubc.ca>
14 years agox86: Only build memory-event features on 64-bit Xen
Keir Fraser [Tue, 29 Jun 2010 17:16:41 +0000 (18:16 +0100)]
x86: Only build memory-event features on 64-bit Xen

32-bit Xen doesn't have enough p2m types to support them.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
14 years agoMerge
Ian Jackson [Tue, 29 Jun 2010 17:02:35 +0000 (18:02 +0100)]
Merge

14 years agotools/pygrub: Fix default when out of range
Ian Jackson [Tue, 29 Jun 2010 15:23:13 +0000 (16:23 +0100)]
tools/pygrub: Fix default when out of range

This is the patch to fix pyGrub default value when it's being set out of
range. This patch makes the quiet and interactive mode select the same
default image when the default value for boot entry is out of range,
i.e. when the guest is having wrong configuration in it's boot loader
(like 3 entries with default mistakenly set to 10 etc).

When the boot entry number is being set out of range it falls back to 0
(first entry of boot loader).

Signed-off-by: Michal Novotny <minovotn@redhat.com>
14 years agotools/xend: Revert 21541:7ff0e885b5c3 "a few blktap2 fixes"
Ian Jackson [Tue, 29 Jun 2010 15:21:20 +0000 (16:21 +0100)]
tools/xend: Revert 21541:7ff0e885b5c3 "a few blktap2 fixes"

Following discussion on xen-devel.  This changeset is doubtful and in
any case incomplete.

14 years agotools/ocaml: libxl ocaml bindings
Ian Jackson [Tue, 29 Jun 2010 14:15:57 +0000 (15:15 +0100)]
tools/ocaml: libxl ocaml bindings

Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
14 years agoupdate QEMU_TAG to 109ed219afc4be5cc5c22f912bb125d1fb102bb2
Ian Jackson [Tue, 29 Jun 2010 14:09:59 +0000 (15:09 +0100)]
update QEMU_TAG to 109ed219afc4be5cc5c22f912bb125d1fb102bb2

14 years agotools: init.d/xencommons: Wait for xenstored to start before setting dom0 name
Ian Jackson [Tue, 29 Jun 2010 14:07:17 +0000 (15:07 +0100)]
tools: init.d/xencommons: Wait for xenstored to start before setting dom0 name

On one of my boxes, the xenstore-write setting dom0's name starts
before xenstored is actually ready to handle the connection properly,
resulting in the name set failing.  Wait for xenstored to be up and
responding to reads before continuing, timing out after 30 seconds.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agotools: init.d/xencommons: Make init script more verbose
Ian Jackson [Tue, 29 Jun 2010 14:06:27 +0000 (15:06 +0100)]
tools: init.d/xencommons: Make init script more verbose

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agotools/xend, xm: add a command to get the state of VMs
Ian Jackson [Tue, 29 Jun 2010 13:52:51 +0000 (14:52 +0100)]
tools/xend, xm: add a command to get the state of VMs

add a command "domstate" to get the state of Vms, which may have one state of
{'shutoff', 'idle','shutdown','running','crashed','paused' or 'paused by
admin"}.

For case of pause, I distinguish it into two conditions. One is "paused" the
other is "paused by admin".
"pasued by admin" means that users pause a domain voluntary by "xm paused
VM" or " API"

Signed-off-by James (Song Wei) <jsong@novell.com>

14 years agogpxe: Add eb-roms.h to hgignore list and build ROMs serially.
Keir Fraser [Tue, 29 Jun 2010 12:43:18 +0000 (13:43 +0100)]
gpxe: Add eb-roms.h to hgignore list and build ROMs serially.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agogpxe: Build e1000 ROM with PCI-ID matching that advertised by qemu-dm.
Keir Fraser [Tue, 29 Jun 2010 12:33:37 +0000 (13:33 +0100)]
gpxe: Build e1000 ROM with PCI-ID matching that advertised by qemu-dm.

Also build gpxe without -Werror and require it always to be built (do
not include a pre-built binary in our source repo).

Portions of this patch are from Gianni Tedesco <gianni.tedesco@citrix.com>

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agox86: send_IPI_mask() ignores offline CPUs in given cpumask.
Keir Fraser [Tue, 29 Jun 2010 12:16:22 +0000 (13:16 +0100)]
x86: send_IPI_mask() ignores offline CPUs in given cpumask.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agoMerge
Ian Jackson [Mon, 28 Jun 2010 16:40:16 +0000 (17:40 +0100)]
Merge

14 years agotools/ocaml: Add .NOTPARALLEL to Makefile
Ian Jackson [Mon, 28 Jun 2010 16:35:10 +0000 (17:35 +0100)]
tools/ocaml: Add .NOTPARALLEL to Makefile

tools/ocaml was capable of descending into lib/* and xenstored/
simultaneously, obviously with poor results.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agolibxl: Specify no nics to qemu when no emulated nics
Ian Jackson [Mon, 28 Jun 2010 16:13:43 +0000 (17:13 +0100)]
libxl: Specify no nics to qemu when no emulated nics

qemu will default to one emulated NIC if no network configuration is
specified on the command-line.  If there are no emualted NICs (i.e.,
no NICs or all NICs are PV), specify no nics to avoid getting an
emulated NIC by default.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agolibxl: Pass bridge config info into xenstore
Ian Jackson [Mon, 28 Jun 2010 16:10:38 +0000 (17:10 +0100)]
libxl: Pass bridge config info into xenstore

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
14 years agotools/libxc: Do not crash freeing logger on xc_interface_open error path
Ian Jackson [Mon, 28 Jun 2010 15:56:52 +0000 (16:56 +0100)]
tools/libxc: Do not crash freeing logger on xc_interface_open error path

libxc could sometimes free the logger which xl created.
Thanks to report from Yang Hongyang <yanghy@cn.fujitsu.com>.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agotools/python: sxp parser: show empty string
Ian Jackson [Mon, 28 Jun 2010 15:49:45 +0000 (16:49 +0100)]
tools/python: sxp parser: show empty string

This patch makes the sxp parser show empty string.

Test case:
 import sxp
 sxp.show(sxp.from_string('(a "")'))
 sxp.show(sxp.from_string("(a '')"))

Without this patch:
 (a )(a )
With this patch:
 (a '')(a '')

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
14 years agovtd: Only kill_timer() an init_timer()'ed timer.
Keir Fraser [Mon, 28 Jun 2010 15:45:19 +0000 (16:45 +0100)]
vtd: Only kill_timer() an init_timer()'ed timer.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>