xen.git
17 years agox86: make injection of spurious page faults configurable per domain
Keir Fraser [Wed, 15 Oct 2008 14:56:26 +0000 (15:56 +0100)]
x86: make injection of spurious page faults configurable per domain

Some distro kernels do not handle spurious page faults so allow these
to be supressed on a per VM basis.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
17 years agovt-d: Fix MSI-x interrupt remapping
Keir Fraser [Wed, 15 Oct 2008 10:58:15 +0000 (11:58 +0100)]
vt-d: Fix MSI-x interrupt remapping

MSI-x may have multiple vectors, however in current interrupt
remapping code, one device only has one entry in interrupt remapping
table.

This patch adds 'remap_index' in msi_desc structure to track its index
in interrupt remapping table.

Signed-off-by: Haitao Shan <haitao.shan@intel.com>
Signed-off-by: Weidong Han <weidong.han@intel.com>
17 years agox86: Fix non-debug build.
Keir Fraser [Wed, 15 Oct 2008 07:22:42 +0000 (08:22 +0100)]
x86: Fix non-debug build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86_emulate: Fix after decode changes. Valid opcode decode values must
Keir Fraser [Tue, 14 Oct 2008 18:19:48 +0000 (19:19 +0100)]
x86_emulate: Fix after decode changes. Valid opcode decode values must
be non-zero.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoiommu: Fix the build.
Keir Fraser [Tue, 14 Oct 2008 10:49:08 +0000 (11:49 +0100)]
iommu: Fix the build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoMissing file from prev c/s
Keir Fraser [Tue, 14 Oct 2008 10:29:46 +0000 (11:29 +0100)]
Missing file from prev c/s

17 years agoiommu: Move some 'boot_cpu_data.x86_vendor' related stuff into
Keir Fraser [Tue, 14 Oct 2008 10:29:14 +0000 (11:29 +0100)]
iommu: Move some 'boot_cpu_data.x86_vendor' related stuff into
arch-specific directory.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agovtd: Define msi_msg_{read,write}_remap_rte() to nothing for ia64.
Keir Fraser [Tue, 14 Oct 2008 10:28:37 +0000 (11:28 +0100)]
vtd: Define msi_msg_{read,write}_remap_rte() to nothing for ia64.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoAdd documentation on how to build one's own stub domain kernel
Keir Fraser [Tue, 14 Oct 2008 10:12:02 +0000 (11:12 +0100)]
Add documentation on how to build one's own stub domain kernel

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
17 years agovt-d: Fix comment typos.
Keir Fraser [Tue, 14 Oct 2008 10:10:46 +0000 (11:10 +0100)]
vt-d: Fix comment typos.

Signed-off-by: Ameya Palande <2ameya@gmail.com>
17 years agohvm: Battery Management virtual firmware and toolstack changes
Keir Fraser [Tue, 14 Oct 2008 10:08:15 +0000 (11:08 +0100)]
hvm: Battery Management virtual firmware and toolstack changes

Signed-off-by: Kamala Narasimhan <kamala.narasimhan@citrix.com>
17 years agox86, hvm: Hyper-V guest interface support with small set of enlightenments
Keir Fraser [Tue, 14 Oct 2008 09:45:29 +0000 (10:45 +0100)]
x86, hvm: Hyper-V guest interface support with small set of enlightenments

A minimal implementation of the Viridian (Hyper-V) guest
interface. The only enlightenments advertised and supported are vAPIC
MSRs and long-spin-wait notifications. The set of enlightenments can
easily be extended in future, as they are found to provide a
performance win, and configured via an extended HVM_PARAM_VIRIDIAN hvm
parameter.

Signed-off-by: Peter Johnston <peter.johnston@citrix.com>
Signed-off-by: Tim Deegan <tim.deegan@citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: propagate return value of alloc_l1_table()
Keir Fraser [Mon, 13 Oct 2008 12:15:20 +0000 (13:15 +0100)]
x86: propagate return value of alloc_l1_table()

A blatant mistake of mine resulted in the return value of
alloc_l1_table() to be ignored with the preemptable page table update
changes.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agovtd: move some x86-dependent functions into x86-specific directory.
Keir Fraser [Mon, 13 Oct 2008 09:09:09 +0000 (10:09 +0100)]
vtd: move some x86-dependent functions into x86-specific directory.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoxend: fixup the Secondary Bus Reset.
Keir Fraser [Mon, 13 Oct 2008 09:08:36 +0000 (10:08 +0100)]
xend: fixup the Secondary Bus Reset.

Use the read-modify-write operation.
Change the wrong 'I' to a correct 'H'.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoiommu: Cleanups to some header files.
Keir Fraser [Mon, 13 Oct 2008 09:08:16 +0000 (10:08 +0100)]
iommu: Cleanups to some header files.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoxenpm: Fix logic when Hyperthreading is enabled.
Keir Fraser [Mon, 13 Oct 2008 09:06:33 +0000 (10:06 +0100)]
xenpm: Fix logic when Hyperthreading is enabled.

Signed-off-by: Guanqun Lu <guanqun.lu@intel.com>
17 years agoxend: Fix dev backend path construction.
Keir Fraser [Mon, 13 Oct 2008 09:03:36 +0000 (10:03 +0100)]
xend: Fix dev backend path construction.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
17 years agoxend: Restore bridge control register after secondary bus reset
Keir Fraser [Fri, 10 Oct 2008 10:52:26 +0000 (11:52 +0100)]
xend: Restore bridge control register after secondary bus reset

From: Chris Dalton <cid@hp.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoMerge with IA64 tree
Keir Fraser [Fri, 10 Oct 2008 09:18:06 +0000 (10:18 +0100)]
Merge with IA64 tree

17 years agovmx: Update RIP past INT3 instruction on INT3 vmexit.
Keir Fraser [Fri, 10 Oct 2008 09:11:34 +0000 (10:11 +0100)]
vmx: Update RIP past INT3 instruction on INT3 vmexit.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agovmx:update DR6 on TRAP_debug VM exits.
Keir Fraser [Fri, 10 Oct 2008 09:06:49 +0000 (10:06 +0100)]
vmx:update DR6 on TRAP_debug VM exits.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
17 years agovt-d: Fix dma_set_pte_superpage
Keir Fraser [Fri, 10 Oct 2008 09:04:58 +0000 (10:04 +0100)]
vt-d: Fix dma_set_pte_superpage

Superpage bit is bit 7 in VT-d page table entry.

Signed-off-by: Weidong Han <weidong.han@intel.com>
17 years agoxend: Fix the detection of the upmost bridge in the python function find_parent().
Keir Fraser [Fri, 10 Oct 2008 09:03:28 +0000 (10:03 +0100)]
xend: Fix the detection of the upmost bridge in the python function find_parent().

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agocpufreq: remove unused variable cpu_count.
Keir Fraser [Fri, 10 Oct 2008 09:01:10 +0000 (10:01 +0100)]
cpufreq: remove unused variable cpu_count.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agoacpi/pmstat.c: refer to the array after range check.
Keir Fraser [Fri, 10 Oct 2008 09:00:54 +0000 (10:00 +0100)]
acpi/pmstat.c: refer to the array after range check.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] compile xenpm for ia64.
Keir Fraser [Fri, 10 Oct 2008 09:00:21 +0000 (10:00 +0100)]
[IA64] compile xenpm for ia64.

Now ia64 supports cpufreq, compile xenpm.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agomerge with xen-unstable.hg
Isaku Yamahata [Fri, 10 Oct 2008 03:06:46 +0000 (12:06 +0900)]
merge with xen-unstable.hg

17 years ago[IA64] introduce iosapci ID.
Isaku Yamahata [Fri, 10 Oct 2008 02:58:03 +0000 (11:58 +0900)]
[IA64] introduce iosapci ID.

introduce iosapci ID, which is used to index DMA engine covering this iosapic.

Signed-off-by; Anthony Xu <anthony.xu@intel.com>

17 years ago[IA64] Add pci configuration code, which is needed by VTD.
Isaku Yamahata [Fri, 10 Oct 2008 02:57:23 +0000 (11:57 +0900)]
[IA64] Add pci configuration code, which is needed by VTD.

Signed-off-by; Anthony Xu <anthony.xu@intel.com>

17 years agoAdd pci configuration code, which is needed by VTD
Isaku Yamahata [Fri, 10 Oct 2008 02:47:07 +0000 (11:47 +0900)]
Add pci configuration code, which is needed by VTD

Signed-off-by; Anthony Xu <anthony.xu@intel.com>

17 years ago[IA64] implement ia64 cpufreq notify hypercall
Isaku Yamahata [Fri, 10 Oct 2008 02:17:24 +0000 (11:17 +0900)]
[IA64] implement ia64 cpufreq notify hypercall

This patch implement the ia64 cpufreq hypercall to get dom0 cpufreq ACPI info.

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
17 years ago[IA64] Add cpufreq ia64 driver
Isaku Yamahata [Fri, 10 Oct 2008 02:17:24 +0000 (11:17 +0900)]
[IA64] Add cpufreq ia64 driver

For IA64 Platform, add cpufreq driver for ia64 cpu, implementing
cpufreq_driver->init()/ exit()/ verify()/ target()/ get()

Signed-off-by: Yu, Ke <ke.yu@intel.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
17 years agohvmloader: smbios support for large memory guests
Keir Fraser [Thu, 9 Oct 2008 16:18:11 +0000 (17:18 +0100)]
hvmloader: smbios support for large memory guests

This reports more than one memory device if the memory for the guest
is larger than 16G.

Signed-off-by: Bill Rieske <brieske@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agovtd: Make some pci access functions architecture independent.
Keir Fraser [Thu, 9 Oct 2008 11:47:31 +0000 (12:47 +0100)]
vtd: Make some pci access functions architecture independent.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoRename evtchn_lock to event_lock, since it protects more than just
Keir Fraser [Thu, 9 Oct 2008 10:17:51 +0000 (11:17 +0100)]
Rename evtchn_lock to event_lock, since it protects more than just
event-channel state now.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoFix lock issue for hvm pass-through domain
Keir Fraser [Thu, 9 Oct 2008 10:14:52 +0000 (11:14 +0100)]
Fix lock issue for hvm pass-through domain

This patch protect the hvm_irq_dpci structure with evtchn_lock, thus
the access to domain's pirq_vector mapping is also protected.

Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
17 years agovt-d: Define a struct IO_xAPIC_route_entry to accommodate both ioapic
Keir Fraser [Thu, 9 Oct 2008 10:08:13 +0000 (11:08 +0100)]
vt-d: Define a struct IO_xAPIC_route_entry to accommodate both ioapic
and iosapic.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoxenpm: Fix typo bug.
Keir Fraser [Thu, 9 Oct 2008 09:16:49 +0000 (10:16 +0100)]
xenpm: Fix typo bug.

From: Guanqun Lu <guanqun.lu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86/mm: Use l1e_get_pfn() in destroy_grant_pte_mapping().
Keir Fraser [Thu, 9 Oct 2008 09:15:30 +0000 (10:15 +0100)]
x86/mm: Use l1e_get_pfn() in destroy_grant_pte_mapping().

On x86_64 system, (pte >> PAGE_SHIFT) is not always equal to page
frame number because high bits (63:52) of pte may be used as
flags. This patch corrects the conversion and errors as below
disappear when applied.
    (XEN) mm.c:3074:d0 PTE entry 200000a2ec6167 for address a1f09958
    doesn't match frame a2ec6

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
17 years agoxend: Fix typo _gatherDom -> gatherDom.
Keir Fraser [Thu, 9 Oct 2008 09:06:50 +0000 (10:06 +0100)]
xend: Fix typo _gatherDom -> gatherDom.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
17 years agoAllow to specify Linux kernel config file
Keir Fraser [Thu, 9 Oct 2008 09:05:41 +0000 (10:05 +0100)]
Allow to specify Linux kernel config file

The env variable XEN_LINUX_CONFIG is used to specify this
file.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
17 years agox86: Remove bogus assertion from free_domain_pirqs().
Keir Fraser [Wed, 8 Oct 2008 13:00:58 +0000 (14:00 +0100)]
x86: Remove bogus assertion from free_domain_pirqs().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Define __per_cpu_shift label to help kdump/crashdump.
Keir Fraser [Wed, 8 Oct 2008 12:11:06 +0000 (13:11 +0100)]
x86: Define __per_cpu_shift label to help kdump/crashdump.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Continue to allocate vectors across LAPIC priority levels, since
Keir Fraser [Wed, 8 Oct 2008 10:59:01 +0000 (11:59 +0100)]
x86: Continue to allocate vectors across LAPIC priority levels, since
it's easy to do. It's not really necessary for modern non-buggy APICs
though.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Free MSI vector when a pirq is unmapped.
Keir Fraser [Wed, 8 Oct 2008 10:51:39 +0000 (11:51 +0100)]
x86: Free MSI vector when a pirq is unmapped.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Move pirq logic to irq.c.
Keir Fraser [Wed, 8 Oct 2008 09:48:48 +0000 (10:48 +0100)]
x86: Move pirq logic to irq.c.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoflask: Fix a problem in xend code when starting a guest with XSM/Flask enabled.
Keir Fraser [Wed, 8 Oct 2008 09:03:47 +0000 (10:03 +0100)]
flask: Fix a problem in xend code when starting a guest with XSM/Flask enabled.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
17 years agoflask: Add 2 permissions to the default flask policy to get a VIF-enabled guest to...
Keir Fraser [Wed, 8 Oct 2008 09:03:09 +0000 (10:03 +0100)]
flask: Add 2 permissions to the default flask policy to get a VIF-enabled guest to work

This adds two more permissions to the default Flask policy to get a VM
with a network interface to work.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
17 years agoflask: Fix to default policy to get simple VM running
Keir Fraser [Wed, 8 Oct 2008 09:02:27 +0000 (10:02 +0100)]
flask: Fix to default policy to get simple VM running

This fix gets to the default Flask/XSM policy gets a simple guest VM
(Ramdisk only, no VIF) running.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
17 years agopygrub: fix the parameter `default' and `timeout' in elilo.conf
Keir Fraser [Fri, 3 Oct 2008 08:42:11 +0000 (09:42 +0100)]
pygrub: fix the parameter `default' and `timeout' in elilo.conf

This patch fixes two issues related to the parameter `default' and
`timeout' in elilo.conf:

- LiloConf.py cannot interpret the parameter `default' and
  `timeout'. The first kernel always boot up even if the second kernel
  is specified by `default'. And `timeout' is ignored.

  This issue is introduced by cset 15953:70bb28b62ffb.

- If two kernels or more are installed, the last kernel cannot boot
  up even if it is specified by `default'.

Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
17 years agoxend: Allow guest write access to /local/domain/x/memory
Keir Fraser [Fri, 3 Oct 2008 08:37:35 +0000 (09:37 +0100)]
xend: Allow guest write access to /local/domain/x/memory
Required for xenballoond, and tools do not need to trust any values
written in that subdirectory.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years ago[IA64] libxc: make xc_ia64_copy_memmap use DOM0VP_get_memmap.
Isaku Yamahata [Fri, 3 Oct 2008 03:50:28 +0000 (12:50 +0900)]
[IA64] libxc: make xc_ia64_copy_memmap use DOM0VP_get_memmap.

Guest domain's memory map may be updated concurrently so that
it is protected sequence lock.
This patch makes xc_ia64_copy_memmap() use DOM0VP_get_memmap
hypercall to avoid the race.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] introduce DOM0VP_get_memmap hypercall.
Isaku Yamahata [Fri, 3 Oct 2008 03:49:55 +0000 (12:49 +0900)]
[IA64] introduce DOM0VP_get_memmap hypercall.

introduce new dom0vp hypercall, DOM0VP_get_memmap,
to get memmap of a given domain without race.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] fix XENMEM_add_to_physmap with XENMAPSPACE_mfn.
Isaku Yamahata [Fri, 3 Oct 2008 03:49:04 +0000 (12:49 +0900)]
[IA64] fix XENMEM_add_to_physmap with XENMAPSPACE_mfn.

This patch fixes HVM domain save/restore.
Tools stack is aware of where memory is populated in guest domain.
But XENMEM_add_to_physmap with XENMAPSPACE_mfn doesn't update
the information related to guest memory map. So guest domain
save/dump-core fails to dump pages which were added by the hypercall.

This patch makes the hypercall update the memory map information
of a given guest domain.
This introduces the race between writers and readers of
the info. Later a new hypercall will be introduced to get memmap
from the guest with lock which prevents this race.
Even if the tools stack can get the memmap by foreign
domain page mapping, it should get memmap by the
newly added hypercall which will be added later.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] make use of rcu_lock_target_domain_by_id()
Isaku Yamahata [Fri, 3 Oct 2008 03:24:49 +0000 (12:24 +0900)]
[IA64] make use of rcu_lock_target_domain_by_id()

reduce code duplication by using rcu_lock_target_domain_by_id()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agomerge with xen-unstable.hg
Isaku Yamahata [Fri, 3 Oct 2008 02:49:07 +0000 (11:49 +0900)]
merge with xen-unstable.hg

17 years agolibblktap: Remove trailing null byte in xs_printf
Keir Fraser [Thu, 2 Oct 2008 11:56:55 +0000 (12:56 +0100)]
libblktap: Remove trailing null byte in xs_printf

xs_printf writes the terminating null byte of the passed string to
Xenstore. When reading, the null byte is returned in the following
form which confuses tools:

sector-size = "512\000"

This patch removes the null byte from the data to write.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
17 years agoEliminate code duplication with rcu_lock_domain_by_id().
Keir Fraser [Thu, 2 Oct 2008 10:39:36 +0000 (11:39 +0100)]
Eliminate code duplication with rcu_lock_domain_by_id().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agoxc_ptrace: Allow gdbserver to connect to a guest before APs are
Keir Fraser [Thu, 2 Oct 2008 10:32:08 +0000 (11:32 +0100)]
xc_ptrace: Allow gdbserver to connect to a guest before APs are
brought online.

Signed-off-by: Kip Macy <kmacy@freebsd.org>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxend: Make only selected subdirs of /local/domain/<domid> writable by the guest.
Keir Fraser [Thu, 2 Oct 2008 09:37:28 +0000 (10:37 +0100)]
xend: Make only selected subdirs of /local/domain/<domid> writable by the guest.

This protects critical data like
/local/domain/<domid>/console/{tty,limit}. It also means we can trust
.../vm, and hence do not need /vm_path. Various parts of the previous
two changesets disappear.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years ago[IA64] libxc clean up.
Isaku Yamahata [Thu, 2 Oct 2008 08:27:57 +0000 (17:27 +0900)]
[IA64] libxc clean up.

remove code duplication between xc_ia64_linux_save.c and xc_core_ia64.c
by introducing xc_ia64_copy_memmap().
Later xc_ia64_copy_memmap() will be enhanced.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] xc restore: fix domain restore.
Isaku Yamahata [Thu, 2 Oct 2008 08:27:57 +0000 (17:27 +0900)]
[IA64] xc restore: fix domain restore.

Fix domain restore of version one format.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] hvm builder: more precisely use of memory size.
Isaku Yamahata [Thu, 2 Oct 2008 08:27:57 +0000 (17:27 +0900)]
[IA64] hvm builder: more precisely use of memory size.

So far, VGA io size is ignored and memory size which assigned to
domain is smaller than what user specified by VGA io size.
This patch take VGA io size into consideration when memory population.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] libxc: improve foreign p2m exposure.
Isaku Yamahata [Thu, 2 Oct 2008 08:27:57 +0000 (17:27 +0900)]
[IA64] libxc: improve foreign p2m exposure.

make foreign p2m exposure _PAGE_IO_BIT aware for robustness.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agomerge with xen-unstable.hg
Isaku Yamahata [Thu, 2 Oct 2008 06:32:54 +0000 (15:32 +0900)]
merge with xen-unstable.hg

17 years agoxend: Fixes after backend xenstore config changes.
Keir Fraser [Wed, 1 Oct 2008 13:07:17 +0000 (14:07 +0100)]
xend: Fixes after backend xenstore config changes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxend: Move some backend configuration info.
Keir Fraser [Wed, 1 Oct 2008 12:35:39 +0000 (13:35 +0100)]
xend: Move some backend configuration info.

This patch moves some dom0 variables and backend device
configuration from frontend directories to
/local/domain/<backdomid>/backend or /vm.

Also,
- /vm_path/<domid> is introduced, referencing the /vm path
- /vm_path/device/backend holds the backend device location,
  rather than storing it in the frontend directory

Signed-off-by: Pascal Bouchareine <pascal@gandi.net>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years ago[IA64] Compilation fix to cpufreq stuff.
Keir Fraser [Wed, 1 Oct 2008 08:31:13 +0000 (09:31 +0100)]
[IA64] Compilation fix to cpufreq stuff.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agox86, hvm: Expose host core/HT topology to HVM guests.
Keir Fraser [Tue, 30 Sep 2008 09:14:54 +0000 (10:14 +0100)]
x86, hvm: Expose host core/HT topology to HVM guests.

Based on an initial patch by Nitin Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agohvm: Remove extboot from virtual firmware.
Keir Fraser [Mon, 29 Sep 2008 14:45:38 +0000 (15:45 +0100)]
hvm: Remove extboot from virtual firmware.

Device model is not present in external qemu repository, and
functionality was never exposed through the toolstack.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxc_save: use correct size when unmapping live p2m.
Keir Fraser [Mon, 29 Sep 2008 10:00:29 +0000 (11:00 +0100)]
xc_save: use correct size when unmapping live p2m.

Otherwise we unmap a larger region than was mapped when saving 32 bit
guest from 64 bit tools, leading to badness.

The equivalent change was made to the restore code in
18329:ca7dd77d5365

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
17 years agodomctl: Fix the wrong return values when xsm_xxx() returns 0
Keir Fraser [Mon, 29 Sep 2008 08:43:05 +0000 (09:43 +0100)]
domctl: Fix the wrong return values when xsm_xxx() returns 0

In 18423: 44f039c4aee4,  if xsm_xxx() returns 0, there are some places
where the return value would be incorrect. The patch fixes them.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoFix 32pae build: ld -> PRI64.
Keir Fraser [Sun, 28 Sep 2008 15:53:14 +0000 (16:53 +0100)]
Fix 32pae build: ld -> PRI64.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
17 years agoCPUIDLE: Initialize timer broadcast mechanism for C2
Keir Fraser [Fri, 26 Sep 2008 16:12:56 +0000 (17:12 +0100)]
CPUIDLE: Initialize timer broadcast mechanism for C2

Without this patch, while running on platforms on which the deepest
C-state is C2, acpi_processor_idle fns will call into NULL
function. This has been the case since 18518:e61c7833dc9d8.

Signed-off-by: Wei Gang <gang.wei@intel.com>
17 years agohvm: Default timer_mode=1 (do not delay virtual time for missed
Keir Fraser [Fri, 26 Sep 2008 16:09:36 +0000 (17:09 +0100)]
hvm: Default timer_mode=1 (do not delay virtual time for missed
ticks). Most guests prefer this mode compared with screwing with
progress of virtual time.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86 shadow: Add FreeBSD mappings guest heuristics.
Keir Fraser [Fri, 26 Sep 2008 14:33:51 +0000 (15:33 +0100)]
x86 shadow: Add FreeBSD mappings guest heuristics.

This patch adds FreeBSD mappings heuristics to allow faster page
promotion.

Also, remove code for unsync va heuristic, not needed anymore.

Signed-off-by: Gianluca Guida <gianluca.guida@eu.citrix.com>
17 years agox86 and ia64: move cpufreq notify code to commone place
Keir Fraser [Fri, 26 Sep 2008 13:05:41 +0000 (14:05 +0100)]
x86 and ia64: move cpufreq notify code to commone place

This patch move the cpufreq notify code from x86 specfic place to
common place, since it can be used by both x86 and ia64 cpufreq
driver.

Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
Signed-off-by: Yu Ke <ke.yu@intel.com>
17 years agoX86 and IA64: Update cpufreq statistic logic for supporting both x86
Keir Fraser [Fri, 26 Sep 2008 13:05:09 +0000 (14:05 +0100)]
X86 and IA64: Update cpufreq statistic logic for supporting both x86
and ia64

Signed-off-by: Yu, Ke <ke.yu@intel.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
17 years agoX86 and IA64: Rebase cpufreq logic for supporting both x86 and ia64
Keir Fraser [Fri, 26 Sep 2008 13:04:38 +0000 (14:04 +0100)]
X86 and IA64: Rebase cpufreq logic for supporting both x86 and ia64
arch

Rebase cpufreq logic for supporting both x86 and ia64 arch:
1. move cpufreq arch-independent logic into common dir
(xen/drivers/acpi
and xen/drivers/cpufreq dir);
2. leave cpufreq x86-dependent logic at xen/arch/x86/acpi/cpufreq dir;

Signed-off-by: Yu, Ke <ke.yu@intel.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
17 years agovtd: Fix check for interrupt remapping of ioapic RTE
Keir Fraser [Fri, 26 Sep 2008 10:12:29 +0000 (11:12 +0100)]
vtd: Fix check for interrupt remapping of ioapic RTE

For IOAPIC interrupt remapping, it only needs to remap ioapci RTE,
should not remap other IOAPIC registers, which are IOAPIC ID, VERSION
and Arbitration ID. This patch adds the check for this and only remap
ioapci RTE.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Weidong Han <weidong.han@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86, hvm: Remove warning on emulated write to read-only page.
Keir Fraser [Thu, 25 Sep 2008 16:41:29 +0000 (17:41 +0100)]
x86, hvm: Remove warning on emulated write to read-only page.

The bugs in this area seem to have been fixed now, and gPXE makes
legitimate best-effort attempts to modify its embedded static data.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Clean up and fix 18539:31f09a5e24cf8
Keir Fraser [Thu, 25 Sep 2008 13:37:52 +0000 (14:37 +0100)]
x86: Clean up and fix 18539:31f09a5e24cf8
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxm: Fix xm start -c / --vncviewer
Keir Fraser [Thu, 25 Sep 2008 12:07:43 +0000 (13:07 +0100)]
xm: Fix xm start -c / --vncviewer

In xm start the --vncviewer option has no effect, instead -c tries to
both connect to the console and start vncviewer. Additionally, to
start vncviewer it uses the domid variable which is only defined a few
lines later. Thus xm start -c doesn't work at all.

This patch fixes both problems.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
17 years agohvm firmware: Replace etherboot with modern gPXE ROMs.
Keir Fraser [Thu, 25 Sep 2008 11:09:10 +0000 (12:09 +0100)]
hvm firmware: Replace etherboot with modern gPXE ROMs.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Fix guest_physmap_add_entry checks
Keir Fraser [Thu, 25 Sep 2008 09:26:08 +0000 (10:26 +0100)]
x86: Fix guest_physmap_add_entry checks

guest_physmap_add_entry() checks to see if the given mfn and gpfn
range in the p2m and m2p tables is already mapped before overwriting
the maps, and attempts to do something reasonable so that we don't
have any "dangling" pointers.

Unfortunately, these checks got broken when the page_order argument
was added.  Each individual p2m and m2p entry needs to be checked, not
just the first page in a page order.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
17 years agox86: Add xenpm utility to list CPU power info.
Keir Fraser [Thu, 25 Sep 2008 09:21:40 +0000 (10:21 +0100)]
x86: Add xenpm utility to list CPU power info.

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86 pmstat: Fix get_pm_info hypercall argument checking.
Keir Fraser [Thu, 25 Sep 2008 09:12:17 +0000 (10:12 +0100)]
x86 pmstat: Fix get_pm_info hypercall argument checking.

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox2apic: Clean up send_IPI_mask_x2apic() and add a memory barrier.
Keir Fraser [Thu, 25 Sep 2008 09:03:04 +0000 (10:03 +0100)]
x2apic: Clean up send_IPI_mask_x2apic() and add a memory barrier.

The barrier is required to prevent the WRMSR from executing before the
processor has written synchronising data to be received by remote
CPUs.

At the same time remove needless wmb() from on_selected_cpus(). We now
assume send_IPI_mask() is a sufficient compiler and CPU memory
barrier.

Original patch by Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years ago[IA64] A small fix in mm.c. Use PAGE_MASK, not ~PAGE_MASK.
Isaku Yamahata [Thu, 25 Sep 2008 02:47:53 +0000 (11:47 +0900)]
[IA64] A small fix in mm.c. Use PAGE_MASK, not ~PAGE_MASK.

~PAGE_MASK was wrongly used to get page aligned address.
Use PAGE_MASK, not ~PAGE_MASK.

Signed-off-by: Anthony xu <anthony.xu@intel.com>
17 years ago[IA64] xc_domain_save: Do not poll-wait for guest to shutdown.
Isaku Yamahata [Thu, 25 Sep 2008 02:47:53 +0000 (11:47 +0900)]
[IA64] xc_domain_save: Do not poll-wait for guest to shutdown.

This patch is ia64 counter part of 18452:59904b180078.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agoFix direct use of 'make' -> $(MAKE)
Keir Fraser [Wed, 24 Sep 2008 11:47:33 +0000 (12:47 +0100)]
Fix direct use of 'make' -> $(MAKE)
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
17 years agox86: Properly synchronise updates to pirq-to-vector mapping.
Keir Fraser [Wed, 24 Sep 2008 11:36:55 +0000 (12:36 +0100)]
x86: Properly synchronise updates to pirq-to-vector mapping.

Per-domain irq mappings are now protected by d->evtchn_lock and by the
per-vector irq_desc lock.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: change _PAGE_GNTTAB
Keir Fraser [Wed, 24 Sep 2008 09:23:51 +0000 (10:23 +0100)]
x86: change _PAGE_GNTTAB

Since Linux started to use one of the 3 low available bits, _PAGE_IO
needed to be moved to a different one. Not remembering about
_PAGE_GNTTAB in debug hypervisors, I ended up assigning it to the same
bit, which made the kernel fail on the debug hypervisor. However,
rather than fixing the kernel it seems more appropriate for the
hypervisor to stay away from these bits, not the least because its
definition was anyway accompanied by a warning that this may be
incompatible with certain OSes.

While obviously the hypervisor has to use some bit (and it's therefore
unavoidable that there's some risk of collision), using one of the
high available bits seems to be the better choice over using one of
the three low ones. Since in 32-bit mode these bits are reserved, the
patch disables the functionality here. The only reasonable alternative
I would see is to disable the functionality by default, but add a
command line option to specify which bit to use.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agox86/PCI-MSI: fix log messages
Keir Fraser [Wed, 24 Sep 2008 09:20:49 +0000 (10:20 +0100)]
x86/PCI-MSI: fix log messages

XENLOG_G_* should not be used in invocations of gdprintk().

Also change the wording in a few places and consistently print the
target domain. It remains questionable whether the code should be this
verbose in the first place, especially now that MSI is on by default.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agoia64: fix make install under tools/debugger/xenitp
Keir Fraser [Wed, 24 Sep 2008 09:19:07 +0000 (10:19 +0100)]
ia64: fix make install under tools/debugger/xenitp

This patch fixes the following error with make install under
the directory, tools/debugger/xenitp by checking whether
the variable is length zero string.

> # make install
> ../../../tools/cross-install -d -m0755 -p //usr/bin
> [ -z " xenitp" ] || ../../../tools/cross-install -d -m0755 -p
> //usr/lib/xen/bin
> ../../../tools/cross-install -d -m0755 -p //usr/share/man/man1
> ../../../tools/cross-install -d -m0755 -p //usr/share/man/man8
> ../../../tools/cross-install -m0755 -p   //usr/bin
> install: too few arguments
> Try `install --help' for more information.
> make: *** [install] Error 1

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agominios: blkfront should set protocol node
Keir Fraser [Wed, 24 Sep 2008 09:18:20 +0000 (10:18 +0100)]
minios: blkfront should set protocol node

From: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxm docs: Added new,delete,dump-core,resume,suspend,uptime and fixed others
Keir Fraser [Wed, 24 Sep 2008 09:17:18 +0000 (10:17 +0100)]
xm docs: Added new,delete,dump-core,resume,suspend,uptime and fixed others

Signed-off-by: Bill Rieske <brieske@novell.com>
17 years agohvm, save/restore: Skip page batches which contain no valid pages.
Keir Fraser [Tue, 23 Sep 2008 16:11:33 +0000 (17:11 +0100)]
hvm, save/restore: Skip page batches which contain no valid pages.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoacm, xend: Catch bad vlan identifiers
Keir Fraser [Tue, 23 Sep 2008 11:30:42 +0000 (12:30 +0100)]
acm, xend: Catch bad vlan identifiers

Add code to intercept badly formatted VLAN identifiers or
those that are out of range.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>