xen.git
19 years agoMerge.
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 16:41:22 +0000 (17:41 +0100)]
Merge.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoMake shadow translate mode work for unprivileged, uniprocessor guests
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 16:15:11 +0000 (17:15 +0100)]
Make shadow translate mode work for unprivileged, uniprocessor guests
with no devices on plain 32 bit non-PAE hosts.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoChange domain_crash to say where it was called from.
sos22@douglas.cl.cam.ac.uk [Wed, 25 Jan 2006 16:14:19 +0000 (17:14 +0100)]
Change domain_crash to say where it was called from.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
19 years agoFix batched request list overflow on packet receive path
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 13:36:35 +0000 (14:36 +0100)]
Fix batched request list overflow on packet receive path
in the netback driver.

Signed-off-by: Robert Read <robert@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoExport Xen driver util function symbols so that Xen drivers
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 13:28:07 +0000 (14:28 +0100)]
Export Xen driver util function symbols so that Xen drivers
can build as modules.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSeparate the validity checking of the page frame in 2 chunks.
vhanquez@kneesa.uk.xensource.com [Wed, 25 Jan 2006 11:51:21 +0000 (11:51 +0000)]
Separate the validity checking of the page frame in 2 chunks.
give a more accurate error message, and don't call pfn_to_page before
validating the pfn.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoFix inline asm hypercall argument parameter indexes.
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 11:34:02 +0000 (12:34 +0100)]
Fix inline asm hypercall argument parameter indexes.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRev8517 (Reduce locked critical region in __enter_scheduler()), enable
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 10:44:39 +0000 (11:44 +0100)]
Rev8517 (Reduce locked critical region in __enter_scheduler()), enable
interrupt now before context switch. Then arch specific context_switch
stub needs to disable interrupt itself.

To solve some intermittent corruption.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
19 years agoMissing put_page_and_type() in dom0_op hypercall.
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 10:12:34 +0000 (11:12 +0100)]
Missing put_page_and_type() in dom0_op hypercall.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix 64-bit build and fix the transfer-page code for the
kaf24@firebug.cl.cam.ac.uk [Wed, 25 Jan 2006 10:08:33 +0000 (11:08 +0100)]
Fix 64-bit build and fix the transfer-page code for the
iret hypercall.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix an incorrect type, and a missing return value check,
kaf24@firebug.cl.cam.ac.uk [Tue, 24 Jan 2006 17:08:11 +0000 (18:08 +0100)]
Fix an incorrect type, and a missing return value check,
in direct_remap_pfn_range().

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agoIndirect hypercalls through a hypercall transfer page.
kaf24@firebug.cl.cam.ac.uk [Tue, 24 Jan 2006 17:05:45 +0000 (18:05 +0100)]
Indirect hypercalls through a hypercall transfer page.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoAdding __init__.py file to remove build warning.
toml@tomlt2.austin.ibm.com [Tue, 24 Jan 2006 16:59:54 +0000 (17:59 +0100)]
Adding __init__.py file to remove build warning.
It turns out the hg export command does not include zero
size files in the generated diff and this was overlooked.

19 years agoAdded dependency check for lilo in configure.ac for vmx enabled builds. Must
stekloff@elm3b216.beaverton.ibm.com [Tue, 24 Jan 2006 16:59:33 +0000 (17:59 +0100)]
Added dependency check for lilo in configure.ac for vmx enabled builds. Must
have lilo version 22.7 or greater.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
19 years agoThis patch make xm reboot/shutdown work for vmx doamin.
Ke Yu [Tue, 24 Jan 2006 16:58:43 +0000 (17:58 +0100)]
This patch make xm reboot/shutdown work for vmx doamin.

xm reboot fails due to two issues:
1. no mechanism to change XendDomainInfo.info to trigger domain reboot
2. ioemu blkif parameter is missing during reboot, thus device model recreation will fail.

This patch fix these issues by
1. introducing a xswatch to monitor the control/shutdown node. once fired, it will change the XendDomainInfo.info to trigger domain reboot
2. saving the ioemu blkif parameter in xen store just like DomU does.

Signed-off-by: Yu Ke <ke.yu@intel.com>
19 years agoMerged.
emellor@leeni.uk.xensource.com [Tue, 24 Jan 2006 16:54:34 +0000 (17:54 +0100)]
Merged.

19 years agoreindent few lines that were using softtab instead of hardtab.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 13:21:11 +0000 (13:21 +0000)]
reindent few lines that were using softtab instead of hardtab.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoadd some checking of opening and read in dom0_init and return -1 if error.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 13:14:42 +0000 (13:14 +0000)]
add some checking of opening and read in dom0_init and return -1 if error.
instead of crashing, it now prints a more meaningful error message.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoMerge
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 12:06:48 +0000 (12:06 +0000)]
Merge

19 years agouse talloc_zero instead of talloc + memset
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 12:03:06 +0000 (12:03 +0000)]
use talloc_zero instead of talloc + memset

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agouse format printf style to write to tracefd instead of using write syscall.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 11:50:38 +0000 (11:50 +0000)]
use format printf style to write to tracefd instead of using write syscall.
add a static buffer to trace() instead of always allocating from the heap.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoTwo shell commands weren't properly spaced in a makefile.
kaf24@firebug.cl.cam.ac.uk [Tue, 24 Jan 2006 11:26:38 +0000 (12:26 +0100)]
Two shell commands weren't properly spaced in a makefile.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agofixup memory leak and return value, if malloc or realloc fail.
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 10:55:45 +0000 (10:55 +0000)]
fixup memory leak and return value, if malloc or realloc fail.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agofixup reallocation to "twice the size + 1", instead of "3 times the size".
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 10:52:52 +0000 (10:52 +0000)]
fixup reallocation to "twice the size + 1", instead of "3 times the size".
max *= 2 + 1 <==> max *= 3

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agodup and open error value is -1, not < 0
vhanquez@kneesa.uk.xensource.com [Tue, 24 Jan 2006 10:37:44 +0000 (10:37 +0000)]
dup and open error value is -1, not < 0

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoThe present pud_offset_k implementation runs the value read through
kaf24@firebug.cl.cam.ac.uk [Mon, 23 Jan 2006 15:27:00 +0000 (16:27 +0100)]
The present pud_offset_k implementation runs the value read through
the m2p translation process twice. With that removed, it can then
also be simplified.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agoia64 specific part of gdbstub.
kaf24@firebug.cl.cam.ac.uk [Mon, 23 Jan 2006 14:47:00 +0000 (15:47 +0100)]
ia64 specific part of gdbstub.

Signed-off-by: Isaku Yamahtata <yamahata@valinux.co.jp>
19 years agoEmergency system halt should halt all processors, not just
kaf24@firebug.cl.cam.ac.uk [Mon, 23 Jan 2006 14:17:14 +0000 (15:17 +0100)]
Emergency system halt should halt all processors, not just
the crashing processor.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
19 years agoThe arguments to memset are ordered incorrectly in the
kaf24@firebug.cl.cam.ac.uk [Fri, 20 Jan 2006 19:31:09 +0000 (20:31 +0100)]
The arguments to memset are ordered incorrectly in the
pcm_hw_clear function of audio.c.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
19 years agoAllow disabling the tx checksums on the xen loopback
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 19:11:09 +0000 (20:11 +0100)]
Allow disabling the tx checksums on the xen loopback
interface, which is used for the virtual interfaces of dom0 instead
of netfront/netback.

I need to issue ethtool -K eth0 tx off to work around a bad checksum
problem, which has been reported for domUs a few months ago. I'm
bridging dom0's eth0 to a domU where I do NAT to a different virtual
interface. Without this change, I get lots of packets with bad
checksums.

Signed-off-by: Jan Niehusmann <jan@gondor.com>
19 years agoFix a bug that causes storage key auth to be generated twice.
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 19:04:53 +0000 (20:04 +0100)]
Fix a bug that causes storage key auth to be generated twice.

Signed-off-by: Vinnie Scarlata <vincent.r.scarlata@intel.com>
19 years agoHaving /usr/bin/xsls conflicts with xsls as distributed in scalapack
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 08:16:01 +0000 (09:16 +0100)]
Having /usr/bin/xsls conflicts with xsls as distributed in scalapack
(http://www.netlib.org/scalapack/).  It should probably be xenstore-ls
a) for namespacing and b) to match up with the other xenstore commands
better.

Signed-off-by: Jeremy Katz <katzj@redhat.com>
19 years agoCleanup dirty code avoiding warning messages when compiling
kaf24@firebug.cl.cam.ac.uk [Thu, 19 Jan 2006 08:12:40 +0000 (09:12 +0100)]
Cleanup dirty code avoiding warning messages when compiling
ioemu.

Signed-off-by: Haifeng Xue <haifeng.xue@intel.com>
19 years agoDelete 2 unused Kconfig files.
vhanquez@kneesa.uk.xensource.com [Wed, 18 Jan 2006 12:58:11 +0000 (12:58 +0000)]
Delete 2 unused Kconfig files.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoNo longer call xc_vcpu_getcontext() on restore (required after cset 8610).
smh22@firebug.cl.cam.ac.uk [Tue, 17 Jan 2006 15:09:03 +0000 (16:09 +0100)]
No longer call xc_vcpu_getcontext() on restore (required after cset 8610).

Signed-off-by: Steven Hand <steven@xensource.com>
19 years agoMinor documentation fix
maf46@burn.cl.cam.ac.uk [Tue, 17 Jan 2006 15:06:03 +0000 (16:06 +0100)]
Minor documentation fix

19 years agoRemove the spin on VCPUF_running from context_switch().
kaf24@firebug.cl.cam.ac.uk [Tue, 17 Jan 2006 13:24:42 +0000 (14:24 +0100)]
Remove the spin on VCPUF_running from context_switch().
It doesn't work because we already set VCPUF_running
locally, and the scheduler should not pick another CPU's
VCPUF_running VCPU anyway, since it mustn't modify the
processor field.

Instead just add a simple assertion to the scheduler to
ensure the scheduling algorithm is not picking an
inappropriate VCPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSync against scheduler tail on other CPUs when context
kaf24@firebug.cl.cam.ac.uk [Tue, 17 Jan 2006 12:25:30 +0000 (13:25 +0100)]
Sync against scheduler tail on other CPUs when context
switching to a new VCPU. Otherwise we cannot pull the
VCPU's state off the other CPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoreturn -ENOMEM value instead of -1 when running out of memory.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 23:54:24 +0000 (23:54 +0000)]
return -ENOMEM value instead of -1 when running out of memory.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agosanitize tpmfront. missing spin_unlock'ing in error paths and fix coding style.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 23:43:58 +0000 (23:43 +0000)]
sanitize tpmfront. missing spin_unlock'ing in error paths and fix coding style.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agobool type doesn't exist in C, don't try to emulate one.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 22:11:43 +0000 (22:11 +0000)]
bool type doesn't exist in C, don't try to emulate one.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoremove ASSERT macro.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 22:07:29 +0000 (22:07 +0000)]
remove ASSERT macro.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoreplace ASSERT by BUG_ON.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 22:04:42 +0000 (22:04 +0000)]
replace ASSERT by BUG_ON.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agodefine all DPRINTK as pr_debug
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:58:44 +0000 (21:58 +0000)]
define all DPRINTK as pr_debug

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agofix xenbus_scanf called with NULL instead of XBT_NULL.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:48:24 +0000 (21:48 +0000)]
fix xenbus_scanf called with NULL instead of XBT_NULL.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agouse standard pr_debug macro for DPRINTK.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:43:17 +0000 (21:43 +0000)]
use standard pr_debug macro for DPRINTK.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoremove ASSERT macro that is not used anymore in blkback.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:29:10 +0000 (21:29 +0000)]
remove ASSERT macro that is not used anymore in blkback.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoremove unnecessary macro bdev_put which is an alias to blkdev_put.
vhanquez@kneesa.uk.xensource.com [Mon, 16 Jan 2006 21:13:29 +0000 (21:13 +0000)]
remove unnecessary macro bdev_put which is an alias to blkdev_put.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoComplete arch_domain_create refactoring for ia64.
kaf24@firebug.cl.cam.ac.uk [Mon, 16 Jan 2006 13:47:31 +0000 (14:47 +0100)]
Complete arch_domain_create refactoring for ia64.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
19 years agoRemove the free_vcpu() interface I added in the preceding
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 22:40:09 +0000 (23:40 +0100)]
Remove the free_vcpu() interface I added in the preceding
changeset. It makes no sense, since an allocated VCPU
cannot be freed at any arbitrary point because individual
VCPUs are not refcounted.

Instead extend free_domain() slightly so it really does do
the reverse of alloc_vcpu() for every allocated VCPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSome refactoring of domain creation/destruction.
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 22:16:43 +0000 (23:16 +0100)]
Some refactoring of domain creation/destruction.

Interface name changes:
1. do_createdomain -> domain_create

2. domain_destruct -> domain_destroy

Arch-specific changes:
1. arch_do_createdomain -> arch_domain_create
This function now takes a domain pointer, not a VCPU
pointer! Initialisation of VCPU0 must happen in
alloc_vcpu_struct().

2. free_perdomain_pt -> arch_domain_destroy
This function must undo the work of arch_domain_create

TODO: arch_domain_create() refactoring is not completed
for ia64.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoxc_vcpu_getcontext() can no longer be called before a
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 21:17:33 +0000 (22:17 +0100)]
xc_vcpu_getcontext() can no longer be called before a
VCPU's context has been explicitly initialised.

Fix all the domain builders to no longer attempt this.
They really don't need to anyhow.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoArch-specific per-vcpu info should be initialised to zero
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 20:26:40 +0000 (21:26 +0100)]
Arch-specific per-vcpu info should be initialised to zero
when allocating a new vcpu structure, not copied from
CPU0's idle VCPU. Especially now that the idle VCPU itself
is dynamically allocated.

This should fix assertions people have been seeing in
getdomain_info_ctxt() relation to IOPL in eflags.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix 64-bit build with crash_debug enabled.
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 16:05:31 +0000 (17:05 +0100)]
Fix 64-bit build with crash_debug enabled.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRename cdb to gdbstub and split it into arch dependent/neutral part.
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 15:58:54 +0000 (16:58 +0100)]
Rename cdb to gdbstub and split it into arch dependent/neutral part.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
19 years agomerge
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 09:36:40 +0000 (10:36 +0100)]
merge

19 years agoFix the issue of system crash in vmx stress test.
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 09:35:39 +0000 (10:35 +0100)]
Fix the issue of system crash in vmx stress test.
There is a path that shadow L2 table is assigned
after it is unshadowed in stress test.

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
19 years agoMerge with xen-ia64-unstable.hg
kaf24@firebug.cl.cam.ac.uk [Sat, 14 Jan 2006 00:04:06 +0000 (01:04 +0100)]
Merge with xen-ia64-unstable.hg

19 years agoMake all nmi debugkey tracing arch specific.
kaf24@firebug.cl.cam.ac.uk [Fri, 13 Jan 2006 22:41:28 +0000 (23:41 +0100)]
Make all nmi debugkey tracing arch specific.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoWork around new nmi code in keyhandler
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 20:58:41 +0000 (14:58 -0600)]
Work around new nmi code in keyhandler
Signed-off-by: Dan Magenheimer <dan.magenheimer@hp.com>
19 years agoLeave *_SOFTIRQ definitions to Xen common code
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 20:31:00 +0000 (14:31 -0600)]
Leave *_SOFTIRQ definitions to Xen common code
Signed-off-by: Dan Magenheimer <dan.magenheimer@hp.com>
19 years agoRemove annoying #warning when compiling with CONFIG_XEN_SMP
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 20:19:30 +0000 (14:19 -0600)]
Remove annoying #warning when compiling with CONFIG_XEN_SMP

19 years agoFix for !CONFIG_SMP compile
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 20:16:44 +0000 (14:16 -0600)]
Fix for !CONFIG_SMP compile
Signed-off-by: Dan Magenheimer <dan.magenheimer@hp.com>
19 years agoMerge
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 20:12:24 +0000 (14:12 -0600)]
Merge

19 years agoCorrectly handle dumping a VM86 guest's stack.
Ian.Campbell@xensource.com [Fri, 13 Jan 2006 16:56:09 +0000 (16:56 +0000)]
Correctly handle dumping a VM86 guest's stack.

If the guest context is VM86 then we need to treat ss:sp as 16 bit
segment:offset rather than 32 bit selector:offset.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
19 years agoAllow asm-offsets to work with vanilla binutils
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 16:38:44 +0000 (10:38 -0600)]
Allow asm-offsets to work with vanilla binutils
Necessary because SHARED_ARCHINFO_ADDR is negative
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agocorrect implementation of flush_tlb_mask needed to reenable CONFIG_SMP
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 16:36:47 +0000 (10:36 -0600)]
correct implementation of flush_tlb_mask needed to reenable CONFIG_SMP
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoMake xmexaple.vti support network option too and other small modifications for conven...
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 16:25:10 +0000 (10:25 -0600)]
Make xmexaple.vti support network option too and other small modifications for convenient use.
Signed-off-by Zhang xiantao <xiantao.zhang@intel.com>

19 years agoUnused page struct fields commented out.
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 16:24:19 +0000 (10:24 -0600)]
Unused page struct fields commented out.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoadd prototype of guest_cpu_user_regs() which is used by ns16550_poll().
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 16:23:01 +0000 (10:23 -0600)]
add prototype of guest_cpu_user_regs() which is used by ns16550_poll().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoIntroduce a locking protocol for acquiring the 'scheduler
kaf24@firebug.cl.cam.ac.uk [Fri, 13 Jan 2006 15:44:04 +0000 (16:44 +0100)]
Introduce a locking protocol for acquiring the 'scheduler
lock' on a particular VCPU. Since this requires acquiring
the approrpiate per-CPU lock, we must re-check the VCPU's
current CPU binding after the lock is acquired.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix writable pagetables when a flush happens in a different
kaf24@firebug.cl.cam.ac.uk [Fri, 13 Jan 2006 15:27:45 +0000 (16:27 +0100)]
Fix writable pagetables when a flush happens in a different
domain, which is temporarily made to run on the wrong
pagetables.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix up the way we initialise and set the NMI heartbeat
kaf24@firebug.cl.cam.ac.uk [Fri, 13 Jan 2006 15:09:45 +0000 (16:09 +0100)]
Fix up the way we initialise and set the NMI heartbeat
timers. Also, compund updates to APIC ICR and ICR2 registers
must be done with interrupts disabled to ensure local
atomicity.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoDebug keyhandlers for triggering an NMI and examine current NMI state.
Ian.Campbell@xensource.com [Fri, 13 Jan 2006 14:59:40 +0000 (14:59 +0000)]
Debug keyhandlers for triggering an NMI and examine current NMI state.

Add 'N' keyhandler to dump the current per CPU NMI counts and the
current NMI mask/pending status.

Add 'n' keyhandler to trigger an NMI by sending an IPI. For some
reason the destination shorthand for self is not valid when used with
the NMI delivery mode so we send the IPI to our own APIC ID
explicitly.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
19 years agoEnable warnings and fix a few one (those which occur in almost every file).
djm@kirby.fc.hp.com [Fri, 13 Jan 2006 14:52:05 +0000 (08:52 -0600)]
Enable warnings and fix a few one (those which occur in almost every file).
The next step is to fix warnings one by one.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
# User tristan.gingold@bull.net

19 years agoFix xenbus_cleanup_devices() to cleanup proper subdirectories
kaf24@firebug.cl.cam.ac.uk [Fri, 13 Jan 2006 14:22:36 +0000 (15:22 +0100)]
Fix xenbus_cleanup_devices() to cleanup proper subdirectories
of the deleted path, not merely paths mwith matching prefixes.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoEnsure watchdog remains disabled unless enabled on the command line.
Ian.Campbell@xensource.com [Fri, 13 Jan 2006 14:09:39 +0000 (14:09 +0000)]
Ensure watchdog remains disabled unless enabled on the command line.

Bail out of setup_apic_nmi_watchdog() early if watchdog is not
enabled. Is the watchdog is disabled then increment
watchdog_disable_count to prevent it ever becoming enabled.

Unconditionally call setup_apic_nmi_watchdog() from setup_local_APIC()
so that the above is guaranteed to have occurred before the first call
of watchdog_enable().

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
19 years agoFix x86/32 do_iret implementation, fixes VM86 mode.
Ian.Campbell@xensource.com [Fri, 13 Jan 2006 11:04:04 +0000 (11:04 +0000)]
Fix x86/32 do_iret implementation, fixes VM86 mode.

Do not clobber a freshly restored esp when performing an iret.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
19 years agoFix non-debug build.
kaf24@firebug.cl.cam.ac.uk [Fri, 13 Jan 2006 10:38:33 +0000 (11:38 +0100)]
Fix non-debug build.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoAdd a new timer operation kill_timer(). Effectively the
kaf24@firebug.cl.cam.ac.uk [Fri, 13 Jan 2006 00:03:44 +0000 (01:03 +0100)]
Add a new timer operation kill_timer(). Effectively the
'opposite' of init_timer(), it marks the end of a timer's
lifetime. After this call the timer will not be pending,
its callback handler will not be running, and future calls
to set_timer() will silently fail.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoAdd missing renamed files. Oops.
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 23:16:07 +0000 (00:16 +0100)]
Add missing renamed files. Oops.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRename ac_timer_* interfaces -> timer_*. The ac_ is
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 22:39:14 +0000 (23:39 +0100)]
Rename ac_timer_* interfaces -> timer_*. The ac_ is
meaningless and unnecessary.

Rename rem_timer -> stop_timer.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSimplify vcpu_sleep_sync() and sched_adjdom(). Their
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 22:25:02 +0000 (23:25 +0100)]
Simplify vcpu_sleep_sync() and sched_adjdom(). Their
interaction with the scheduler locks was unnecessarily
complicated.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix compile warning about uninitialised vars.
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 20:48:51 +0000 (21:48 +0100)]
Fix compile warning about uninitialised vars.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoUpdate copyright on domain_page implementation. It's been
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 15:10:12 +0000 (16:10 +0100)]
Update copyright on domain_page implementation. It's been
rewritten from scratch a couple of times now and it's safe
to assert that the original Linux heritage was deleted
long ago.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMore debug print cleanups.
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 14:59:45 +0000 (15:59 +0100)]
More debug print cleanups.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoQuieten debug printing on memory_op hypercall. Don't warn
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 14:44:44 +0000 (15:44 +0100)]
Quieten debug printing on memory_op hypercall. Don't warn
about disallowed multipage allocation attempts.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRe-enable per-cpu cache on map_domain_page(). Fix the
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 14:43:22 +0000 (15:43 +0100)]
Re-enable per-cpu cache on map_domain_page(). Fix the
offending caller that broke the vcpu cache (writable
pagetable code kept a mapping outstanding until flush,
which could occur on a different vcpu).

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agofixes some compiler warnings due to new types used in
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 13:27:55 +0000 (14:27 +0100)]
fixes some compiler warnings due to new types used in
the xenbus.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
19 years agoAdds a check to vtpm_manager and vtpm Makefiles to verify openssl and
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 13:27:20 +0000 (14:27 +0100)]
Adds a check to vtpm_manager and vtpm Makefiles to verify openssl and
gmp dev files are installed. If files are missing, Makefile exits with a
message indicating that these tools will not be built, rather than an
error, which prevents Xen from building.

Signed-off-by: Vinnie Scarlata <vincent.r.scarlata@intel.com>
19 years agoMerged.
emellor@leeni.uk.xensource.com [Thu, 12 Jan 2006 12:20:04 +0000 (13:20 +0100)]
Merged.

19 years ago8604:a51fcb5de470 introduced a discrepancy between the declaration
emellor@leeni.uk.xensource.com [Thu, 12 Jan 2006 12:13:34 +0000 (13:13 +0100)]
8604:a51fcb5de470 introduced a discrepancy between the declaration
and definition of xc_linux_save(). In particular the argument for
the suspend pointer to function was null in one and int in the other.
On inspection, int seemed to be correct, so I went with this.
I also fixed up a few other cosmetic discrepancies.

Signed-Off-By: Horms <horms@verge.net.au>
19 years agoFix cpu_affinity memcpy() (bytes not longs!) add add a better
kaf24@firebug.cl.cam.ac.uk [Thu, 12 Jan 2006 11:45:49 +0000 (12:45 +0100)]
Fix cpu_affinity memcpy() (bytes not longs!) add add a better
affinity map sanity check to avoid blowing up Xen if no
online cpu is included in the map.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix x86_64 domU build by conditionalizing NMI support on CONFIG_X86_LOCAL_APIC
Ian.Campbell@xensource.com [Thu, 12 Jan 2006 10:37:10 +0000 (10:37 +0000)]
Fix x86_64 domU build by conditionalizing NMI support on CONFIG_X86_LOCAL_APIC

The NMI handler is not built unless CONFIG_X86_LOCAL_APIC is defined, and
CONFIG_X86_LOCAL_APIC requires a dom0 build.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
19 years agoMore do_iret() fixes. We need to take care in restoring
kaf24@firebug.cl.cam.ac.uk [Wed, 11 Jan 2006 19:14:27 +0000 (20:14 +0100)]
More do_iret() fixes. We need to take care in restoring
EFLAGS that we do not pull in non-zero IOPL, then crash
the domain, and then bug out when dom0 gets vcpu context.
This could otherwise be triggered by a malicious guest.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agomap_domain_page per-vcpu cache still seems broken. Disable
kaf24@firebug.cl.cam.ac.uk [Wed, 11 Jan 2006 19:03:53 +0000 (20:03 +0100)]
map_domain_page per-vcpu cache still seems broken. Disable
while I fix it.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMore code cleanups, mainly to do_iret() implementations.
kaf24@firebug.cl.cam.ac.uk [Wed, 11 Jan 2006 18:44:54 +0000 (19:44 +0100)]
More code cleanups, mainly to do_iret() implementations.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agomerge
kaf24@firebug.cl.cam.ac.uk [Wed, 11 Jan 2006 18:26:03 +0000 (19:26 +0100)]
merge

19 years agoReassert nmi pending when a nmi handler is registered
kaf24@firebug.cl.cam.ac.uk [Wed, 11 Jan 2006 18:24:43 +0000 (19:24 +0100)]
Reassert nmi pending when a nmi handler is registered
if we lost a previous nmi.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agomerge
Ian.Campbell@xensource.com [Wed, 11 Jan 2006 18:23:34 +0000 (18:23 +0000)]
merge