]> xenbits.xensource.com Git - xen.git/log
xen.git
19 years ago[IA64] add dom0vp hypercall interfaces
awilliam@ldap.hp.com [Tue, 25 Apr 2006 20:02:21 +0000 (14:02 -0600)]
[IA64] add dom0vp hypercall interfaces

adds the dom0vp hypercall interfaces.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] introduce config option
awilliam@ldap.hp.com [Tue, 25 Apr 2006 19:57:56 +0000 (13:57 -0600)]
[IA64] introduce config option

introduce XEN_IA64_DOM0_VP config.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] introduce dom0vp hypercalls
awilliam@ldap.hp.com [Tue, 25 Apr 2006 19:56:30 +0000 (13:56 -0600)]
[IA64] introduce dom0vp hypercalls

implement dom0vp hypercall.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] domain0 builder change
awilliam@ldap.hp.com [Tue, 25 Apr 2006 19:48:02 +0000 (13:48 -0600)]
[IA64] domain0 builder change

make domain0 builder for dom0 vp model.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] introduce efi_memmap_walk_type
awilliam@ldap.hp.com [Tue, 25 Apr 2006 19:11:15 +0000 (13:11 -0600)]
[IA64] introduce efi_memmap_walk_type

introduce efi_memmap_walk_type() for the next dom0 builder patch.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] introduce P2M conversion
awilliam@ldap.hp.com [Tue, 25 Apr 2006 19:06:57 +0000 (13:06 -0600)]
[IA64] introduce P2M conversion

introduce P2M conversion functions necessary for dom0vp model.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] introduce compile time option to xen
awilliam@ldap.hp.com [Tue, 25 Apr 2006 17:54:45 +0000 (10:54 -0700)]
[IA64] introduce compile time option to xen

introduce xen_ia64_dom0_virtual_physical compile time option.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] Remove FORCE_CRASH from alt_itlb_miss
awilliam@ldap.hp.com [Tue, 25 Apr 2006 17:50:56 +0000 (10:50 -0700)]
[IA64] Remove FORCE_CRASH from alt_itlb_miss

This patch removed FORCE_CRASH from alt_itlb_miss handler.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
19 years ago[IA64] message of elf_sanity_check as x86
awilliam@ldap.hp.com [Tue, 25 Apr 2006 17:49:33 +0000 (10:49 -0700)]
[IA64] message of elf_sanity_check as x86

This small patch output message of elf_sanity_check as x86.
Currently this panic is the only following message.

        (XEN) *** LOADING DOMAIN 0 ***
        (XEN)
        (XEN) ****************************************
        (XEN) Panic on CPU 0:
        (XEN) Could not set up DOM0 guest OS
        (XEN) ****************************************
        (XEN)
        (XEN) Reboot in five seconds...
        (XEN) machine_restart called: spinning....

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
19 years ago[IA64] SMP-guest
awilliam@xenbuild.aw [Fri, 21 Apr 2006 16:40:17 +0000 (10:40 -0600)]
[IA64] SMP-guest

Final SMP-guest patch: add IPI and boot rendez-vous support.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] translate_domain_pte must handle ED bit and ignre bit[63:53]
awilliam@xenbuild.aw [Fri, 21 Apr 2006 15:20:13 +0000 (09:20 -0600)]
[IA64] translate_domain_pte must handle ED bit and ignre bit[63:53]

made translate_domain_pte() aware _PAGE_ED bits.
_PAGE_PPN_MASK doesn't mask ED bit.
ED bit must be handled explicitly.
This case can occur by vcpu_itc_d().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] print efi map descriptor infomation at bootup
awilliam@xenbuild.aw [Fri, 21 Apr 2006 15:11:46 +0000 (09:11 -0600)]
[IA64] print efi map descriptor infomation at bootup

print efi map descriptor infomation at bootup with the boot option efi_print.
default is off.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] make dom_pa() static
awilliam@xenbuild.aw [Fri, 21 Apr 2006 15:09:16 +0000 (09:09 -0600)]
[IA64] make dom_pa() static

dom_pa() is unsed only by dom_fw.c. make it static.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] more cleanup in vhpt.h
awilliam@xenbuild.aw [Fri, 21 Apr 2006 15:06:38 +0000 (09:06 -0600)]
[IA64] more cleanup in vhpt.h

VHPT_CCHAIN_LOOKUP removed, body is now inlined in ivt.S
vhpt_insert() is now written in C.
Cleanup within vhpt.c/.h

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] Add support to physdev_ops
awilliam@xenbuild.aw [Fri, 21 Apr 2006 15:03:19 +0000 (09:03 -0600)]
[IA64] Add support to physdev_ops

Add support to physdev ops, and thus give IOSAPIC RTEs
managed by Xen now. Dom0 now issues hypercall to r/w
RTE entry. Another change is the irq vector allocation
which is also owned by xen now.

After this change, the IOSAPIC is almost owned by xen
with only exception as IOSAPIC EOI which is still issued
by dom0 directly. But that's OK since currently dom0
owns all external physical devices. Later full event
channel mechanism will provide necessary support for
driver domain, and at that time, dom0 instead issues
physdev_op (PHYSDEVOP_IRQ_UNMASK_NOTIFY) naturally as
replace of IOSAPIC EOI.

Signed-off-by Kevin Tian <kevin.tian@intel.com>

19 years ago[IA64] Compile iosapic within xen
awilliam@xenbuild.aw [Fri, 21 Apr 2006 14:56:34 +0000 (08:56 -0600)]
[IA64] Compile iosapic within xen

Compile iosapic within xen. Part of code from Tristan.

Signed-off-by Kevin Tian <kevin.tian@intel.com>

19 years ago[IA64] add base iosapic files
awilliam@xenbuild.aw [Fri, 21 Apr 2006 14:56:24 +0000 (08:56 -0600)]
[IA64] add base iosapic files

Add base iosapic files from Linux-2.6.16 in preparation for
Kevin's iosapic changes.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] xensystem.h
awilliam@xenbuild.aw [Wed, 19 Apr 2006 16:39:15 +0000 (10:39 -0600)]
[IA64] xensystem.h

Move all Xen memory space constants into xensystem.h
Cleanup related to the move.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] cleanup of vhpt.h
awilliam@xenbuild.aw [Wed, 19 Apr 2006 16:35:31 +0000 (10:35 -0600)]
[IA64] cleanup of vhpt.h

Cleanup: collision chain declaration and code removed (was unused).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] more mmio insn for VTi
awilliam@xenbuild.aw [Wed, 19 Apr 2006 16:32:36 +0000 (10:32 -0600)]
[IA64] more mmio insn for VTi

getfpregs rewritten for Xen.
mmio.c: handle more instructions, panic replaced by panic_domain.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] dom_rid_bits
awilliam@xenbuild.aw [Wed, 19 Apr 2006 16:26:50 +0000 (10:26 -0600)]
[IA64] dom_rid_bits

dom_rid_bits command line parameter added (set default domain rid bits).
Comments added and cleanups in regionreg.c
panic_domain declared in domain.h

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] Use a constant instead of an hard-coded value.
awilliam@xenbuild.aw [Wed, 19 Apr 2006 16:24:33 +0000 (10:24 -0600)]
[IA64] Use a constant instead of an hard-coded value.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agomerge with xen-unstable.hg
awilliam@xenbuild.aw [Tue, 18 Apr 2006 15:35:40 +0000 (09:35 -0600)]
merge with xen-unstable.hg

19 years ago[IA64] cleanup CONFIG_VIRTUAL_MEM_MAP.
awilliam@xenbuild.aw [Mon, 17 Apr 2006 14:47:36 +0000 (08:47 -0600)]
[IA64] cleanup CONFIG_VIRTUAL_MEM_MAP.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
19 years ago[IA64] Remove unused variables. init_mm and swapper_pg_dir.
awilliam@xenbuild.aw [Mon, 17 Apr 2006 14:46:52 +0000 (08:46 -0600)]
[IA64] Remove unused variables. init_mm and swapper_pg_dir.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
19 years ago[IA64] Add support for discontiguous physical memory.
awilliam@xenbuild.aw [Mon, 17 Apr 2006 14:46:04 +0000 (08:46 -0600)]
[IA64] Add support for discontiguous physical memory.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
19 years agoOnly BSP can really do clear_all_shadow_status.
kaf24@firebug.cl.cam.ac.uk [Sun, 16 Apr 2006 14:41:31 +0000 (15:41 +0100)]
Only BSP can really do clear_all_shadow_status.
This fixes SMP IA32 VMX guest booting on IA32 xen.

Signed-off-by: Xin Li <xin.b.li@intel.com>
19 years agoClean up new EOI ack method some more and fix unbinding
kaf24@firebug.cl.cam.ac.uk [Sun, 16 Apr 2006 14:04:21 +0000 (15:04 +0100)]
Clean up new EOI ack method some more and fix unbinding
IRQ from guest (penidng EOIs must be forcibly flushed).

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMerged.
emellor@leeni.uk.xensource.com [Sat, 15 Apr 2006 18:25:21 +0000 (19:25 +0100)]
Merged.

19 years agoRead the message type out of the message before sending it to xenstored, and
emellor@leeni.uk.xensource.com [Sat, 15 Apr 2006 18:25:09 +0000 (19:25 +0100)]
Read the message type out of the message before sending it to xenstored, and
use that saved value when handling the reply.  Xenstored will leave the
message type intact, _except_ when returning an error, in which case it will
change the type to XS_ERROR.  This meant that we failed to remove a
transaction from our internal list if xenstored returned EAGAIN, as we did not
realise that the message was XS_TRANSACTION_END.  This manifested itself as
the intended behaviour until the connection was closed, at which point all of
those failed transactions would erroneously be aborted.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
19 years agoBig fixes for the new IO-APIC acknowledging method. The problems
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 17:09:52 +0000 (18:09 +0100)]
Big fixes for the new IO-APIC acknowledging method. The problems
were:
 1. Some critical Xen interrupts could get blocked behind
    unacknowledged guest interrupts. This is avoided by making
    all Xen-bound interrrupts strictly higher priority.
 2. Interrupts must not only be EOIed on the CPU that received
    them, but also in reverse order when interrupts are nested.
    A whole load of logic has been added to ensure this.

There are two boot parameters relating to all this:
 'ioapic_ack=old' -- use the old IO-APIC ACK method
 'ioapic_ack=new' -- use the new IO-APIC ACK method (default)
 'force_intack'   -- periodically force acknowledgement of
                     interrupts (default is no; useful for debugging)

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRemove bogus extern declaration.
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 14:53:53 +0000 (15:53 +0100)]
Remove bogus extern declaration.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoThis patch adds a section to the documentation on the late binding
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 10:28:55 +0000 (11:28 +0100)]
This patch adds a section to the documentation on the late binding
feature for PCI devices. It provides some examples (mostly stolen from
the e-mail which accompanied the late-binding patch) of how to use the
sysfs attributes for late binding.

This patch was revised from the last documentation patch that I
submitted which included this and some documentation on the permissive
flag. I've divided the two sections up and I'd like this one considered
for acceptance now while I revise the permissive flag code.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
19 years agoTouch softlockup watchdog while warning user about use of
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 09:16:05 +0000 (10:16 +0100)]
Touch softlockup watchdog while warning user about use of
tls libraries.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix whitespace in libxc. Tabs are manually fixed.
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 09:07:31 +0000 (10:07 +0100)]
Fix whitespace in libxc. Tabs are manually fixed.
Trailing whitespace removed with:
 perl -p -i -e 's/\s+$/\n/g' tools/libxc/*.[ch]

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
19 years agoFix SETMAXMEM dom0_op with proper locking.
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 08:52:32 +0000 (09:52 +0100)]
Fix SETMAXMEM dom0_op with proper locking.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoCurrently, it is possible to set the mem-max value to value lower than
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 08:47:55 +0000 (09:47 +0100)]
Currently, it is possible to set the mem-max value to value lower than
what has been currently allocated to the domain causing the kernel to
crash. This patch validates the value passed in and prevents setting the
value below the current allocation level.

Signed-off-by: ksrinivasan@novell.com
19 years ago[IA64] fix a mmio bug
awilliam@xenbuild.aw [Fri, 14 Apr 2006 20:24:09 +0000 (14:24 -0600)]
[IA64] fix a mmio bug

Fix a bug in mmio emulation

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
19 years agoThis patch enables external devices, such as for example a mounted hard
emellor@leeni.uk.xensource.com [Fri, 14 Apr 2006 20:22:09 +0000 (21:22 +0100)]
This patch enables external devices, such as for example a mounted hard
drive image or a TPM, to be migrated to a remote machine. The patch
hooks into the checkpointing (XendCheckpoint.py) code and performs
migration in 4 different steps:

In a 1st step (step = 0 in the code) migration of all devices of a
domain is 'tested', that means their driver implementations (blkif.py,
netif.py, tpmif.py, usbif.py, pciif.py) are queried whether migration is
possible at all. Currently all device representations respond with a
'yes' (=0), although probably a VM mounting a hard drive partition
should respond with a 'no' (-1) already. This first step is a quick
check to see whether devices can be migrated.

The 2nd step is to do whatever can be done before the domain is
suspended. At this point migration of the device could be initiated, if
at all possible.

The 3rd step is to migrate a device after the domain has been suspended,
meaning that it is not scheduled anymore and the VM is 'settled'. All
devices are called again and a good implementation would initiate the
migration in a background process to achieve as much concurrency as
possible.

The 4th step is to synchronize with the 3rd step. At this point the
implementor has to make sure that anything that was initiated in step 3
has completed. Once all steps 4 have been processed, the VM will resume
on the remove machine.

I have implemented hooks for migration of a virtual TPM in
xen/xend/server/tpmif.py. These hooks call a configurable external
migration tool using the os.popen() call with a fixed command line
parameter set. The implementation refuses to migrate a VM attached to a
virtual TPM if no tool has been provided for migration.
All other devices do not currently overload the 'migrate' method defined
in the DevController.py and therefore will just let migration happen.

I have added hooks for error recovery such that whatever part of
migration has been initiated can be rolled back when any of the devices
fail to migrate in one of the steps. The interface (in tpmif.py) to the
external application now uses os.popen() to allow error handling by
reading the application's output.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
19 years ago[IA64] vmx_vcpu_set_rr: check rid validity
awilliam@xenbuild.aw [Fri, 14 Apr 2006 20:21:54 +0000 (14:21 -0600)]
[IA64] vmx_vcpu_set_rr: check rid validity

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] get rid of sync_split_cache
awilliam@xenbuild.aw [Fri, 14 Apr 2006 20:20:04 +0000 (14:20 -0600)]
[IA64] get rid of sync_split_cache

Get rid of sync_split_cache.
Use flush_icache_range and ia64_fc instead.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoAllow cpus parameter to xm create to accept a range string by removing the
Ryan Harper [Fri, 14 Apr 2006 20:15:38 +0000 (21:15 +0100)]
Allow cpus parameter to xm create to accept a range string by removing the
restriction of cpus accepting only integers.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
19 years ago[IA64] regionreg.c: deallocate metaphysical rids
awilliam@xenbuild.aw [Fri, 14 Apr 2006 20:13:13 +0000 (14:13 -0600)]
[IA64] regionreg.c: deallocate metaphysical rids

allocate_rid_range also allocates metaphysical rids.
deallocate_rid_range also deallocates mp rids.
init_rid_allocator() added.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoRestrict netfront to 256 grant references to avoid
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 14:05:28 +0000 (15:05 +0100)]
Restrict netfront to 256 grant references to avoid
exhausting the global pool.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoIntroduce gnttab_empty_grant_references() to check whether grant
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 14:05:04 +0000 (15:05 +0100)]
Introduce gnttab_empty_grant_references() to check whether grant
references is empty.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoReplace grant-table typedefs with explicit structs.
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:54:46 +0000 (14:54 +0100)]
Replace grant-table typedefs with explicit structs.
Reduce MAPTRACK_MAX_ENTRIES to something plausible.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoClean up grant_mapping_t. Increase its size from 4bytes to 8bytes and
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:40:30 +0000 (14:40 +0100)]
Clean up grant_mapping_t. Increase its size from 4bytes to 8bytes and
removed tight encoding of flag and ref.  This change is xen-internal
so this shouldn't affect domain api.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoUse ioremap instead of __va to map VGA memory area (to be uncached).
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:37:19 +0000 (14:37 +0100)]
Use ioremap instead of __va to map VGA memory area (to be uncached).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoThis patch removes the ignored "Unconditional I/O exiting" setting in VMCS for
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:33:53 +0000 (14:33 +0100)]
This patch removes the ignored "Unconditional I/O exiting" setting in VMCS for
the vmx guest since "Use I/O bitmaps" setting is being used.

Signed-off-by: Himanshu Raj <rhim.list@nosuchaddr.com>
19 years agoThis patch enables tracing VMEXIT/ENTRY for 64-bit systems.
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:31:27 +0000 (14:31 +0100)]
This patch enables tracing VMEXIT/ENTRY for 64-bit systems.

Signed-off-by: Himanshu Raj <rhim.list@nosuchaddr.com>
19 years agoSince we don't reset the proto_csum_blank flag in the skb, the
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:23:40 +0000 (14:23 +0100)]
Since we don't reset the proto_csum_blank flag in the skb, the
checksum calculation gets done twice, which is not twice as good as
once.

With this patch, TCP/UDP checksum errors from dom0 are fixed, and
domUs can use TCP/UDP without turning off TX checksum offload.  Normal
non-VLAN bridged configs still work fine, tested with xm-test.

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
19 years agoThis is a patch for XenMon which only applies to the userspace tools.
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:21:12 +0000 (14:21 +0100)]
This is a patch for XenMon which only applies to the userspace tools.
The primary purpose of this patch is to add support for non-polling
access to the xen trace buffers. The hypervisor changes have already
been accepted.

Also included are a few bug fixes and some minor new features:

1. If xenmon is run without first allocating trace buffers (via
'setsize') and enabling them (via 'tbctl'), then this is done
automatically using sensible defaults.

2. There was a bug that caused the first second's worth of data output
from xenmon to be erroneous; This has been fixed.

3. There was a bug that caused xenmon to sometimes not display data for
newly created domains; This has also been fixed.

4. The xenmon display has a 'heartbeat' which flickers once per second.
This is to show that xenmon is still alive, even though the display
isn't changing at all, a situation that can happen sometimes when there
is nothing at all happening on a particular cpu.

5. Added cpu utilization display to the top of the xenmon window.

6. Added a bunch of options in xenmon to control exactly which metrics
are displayed, so the screen doesn't get cluttered with stuff you're not
interested in. The new options are:
  --allocated
  --noallocated
  --blocked
  --noblocked
  --waited
  --nowaited
  --excount
  --noexcount
  --iocount
  --noiocount

7. Added an option ("--cpu=N") to xenmon to specify which physical cpu
you'd like data displayed for.

8. Updated the README with information about default trace buffer size, etc.

Signed-off-by: Rob Gardner <rob.gardner@hp.com>
19 years agoTrivial patch to fix x86_64 builds in which XEN_TARGET_ARCH
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:18:39 +0000 (14:18 +0100)]
Trivial patch to fix x86_64 builds in which XEN_TARGET_ARCH
is specified on the make command line, e.g.:
     make XEN_TARGET_ARCH=x86_64

This busted the vmxassist and hvmloader builds, which must
be done -m32.  Using "override" in the vmxassist/hvmloader
Makefiles fixes the problem by not allowing this to be
overridden from the command line.

Signed-off-by: Dave Lively <dlively@virtualiron.com>
19 years agoNew IO-APIC ACK method seems to cause problems on some systems
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:14:24 +0000 (14:14 +0100)]
New IO-APIC ACK method seems to cause problems on some systems
(e.g., Dell 1850). Disable it by default for now, but allow the
new mwethod to be tested by passing boot parameter 'new_ack'
to Xen.

You can tell which ACK method you are using because Xen prints
out "Using old ACK method" or "Using new ACK method" during boot.

This workaround can be removed if/when the problems with the new
ACK method are flushed out.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix Xen's interrupt acknowledgement routines on certain
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 11:01:15 +0000 (12:01 +0100)]
Fix Xen's interrupt acknowledgement routines on certain
(apparently broken) IO-APIC hardware:
 1. Do not mask/unmask the IO-APIC pin during normal ISR
    processing. This seems to have really bizarre side effects
    on some chipsets.
 2. Since we instead tickle the local APIC in the ->end
    irq hook function, it *must* run on the CPU that
    received the interrupt. Therefore we track which CPUs
    need to do final acknowledgement and IPI them if
    necessary to do so.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoCall move_irq() during evtchn ->ack irq hook functions. This
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 10:58:49 +0000 (11:58 +0100)]
Call move_irq() during evtchn ->ack irq hook functions. This
triggers SMP affinity work.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMust use __copy_to_user_inatomic() in swiotlb's sync_single()
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 10:58:11 +0000 (11:58 +0100)]
Must use __copy_to_user_inatomic() in swiotlb's sync_single()
function, as we cannot sleep there.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[IA64] VM_SUMMARY and VM_INFO
awilliam@xenbuild.aw [Thu, 13 Apr 2006 20:57:13 +0000 (14:57 -0600)]
[IA64] VM_SUMMARY and VM_INFO

xen_pal_emulator: implements VM_SUMMARY and VM_INFO.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] dtlb_miss: allow non-access and lfetch inside Xen.
awilliam@xenbuild.aw [Thu, 13 Apr 2006 20:52:07 +0000 (14:52 -0600)]
[IA64] dtlb_miss: allow non-access and lfetch inside Xen.

Allow non-access and lfetch dtlb miss inside Xen vmm.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] VTi: vtlb_insert: call panic_domain instead of panic
awilliam@xenbuild.aw [Thu, 13 Apr 2006 20:48:09 +0000 (14:48 -0600)]
[IA64] VTi: vtlb_insert: call panic_domain instead of panic

vtlb_insert: call panic_domain instead of panic if vrr.ps mismatch itir.ps.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] panic_domain should only crash the domain
awilliam@xenbuild.aw [Thu, 13 Apr 2006 20:44:39 +0000 (14:44 -0600)]
[IA64] panic_domain should only crash the domain

Don't crash Xen in case of panic_domain.  Simply crash the domain.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] vmx_ia64_handle_break
awilliam@xenbuild.aw [Thu, 13 Apr 2006 20:42:43 +0000 (14:42 -0600)]
[IA64] vmx_ia64_handle_break

vmx_ia64_handle_break: do hypercall only when cpl = 0.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] VTi: add pseudo support of long format VHPT
awilliam@xenbuild.aw [Thu, 13 Apr 2006 20:08:30 +0000 (14:08 -0600)]
[IA64] VTi: add pseudo support of long format VHPT

Pseudo support of VHPT long format.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] bug fix in vmx_ivt
awilliam@xenbuild.aw [Thu, 13 Apr 2006 19:46:50 +0000 (13:46 -0600)]
[IA64] bug fix in vmx_ivt

Reflect general exception.
break 0 is now handled by vmx_ia64_handle_break.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] remove printk warning of xen_init
awilliam@xenbuild.aw [Thu, 13 Apr 2006 19:41:59 +0000 (13:41 -0600)]
[IA64] remove printk warning of xen_init

remove printk warning of xen_init

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] call setup_xen_feature()
awilliam@xenbuild.aw [Thu, 13 Apr 2006 19:40:31 +0000 (13:40 -0600)]
[IA64] call setup_xen_feature()

add setup_xen_features() call to setup_arch() in xenLinux/ia64
Now features.c is compiled into xenLinux/ia64 for xen_feature(),
but it is not initialized.
xenLinux/x86 calls xetup_xen_features() from setup_arch().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoFix stack corruption in the libxs python interface. domid_t is a short;
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 18:14:11 +0000 (19:14 +0100)]
Fix stack corruption in the libxs python interface. domid_t is a short;
instead use uint32_t like we do in xc.c.

Signed-off-by: John Levon <john.levon@sun.com>
19 years agoadd quota to xenstored.
vhanquez@kneesa.uk.xensource.com [Thu, 13 Apr 2006 16:21:13 +0000 (16:21 +0000)]
add quota to xenstored.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoAllow PCI-E and PCMCIA config on 64-bit Xenlinux.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 14:15:56 +0000 (15:15 +0100)]
Allow PCI-E and PCMCIA config on 64-bit Xenlinux.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoThis is to align PIT counter with TSC more accurately.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:26:01 +0000 (11:26 +0100)]
This is to align PIT counter with TSC more accurately.

Signed-off-by: Eddie Dong <eddie.dong@intel.com>
19 years agoUse memmove instead of memcpy for overlapping areas (console scroll).
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:25:03 +0000 (11:25 +0100)]
Use memmove instead of memcpy for overlapping areas (console scroll).
Use memset instead of memcpy to clear line.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoIn some cases, say for instance for some bizzare reason
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:24:00 +0000 (11:24 +0100)]
In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens't neccessarily
store file permissions, mkbuildtree may not be executable.
So run them explicitly via bash.

Signed-Off-By: Horms <horms@verge.net.au>
19 years agoSVM patch to add BP exception intercept support.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:08:20 +0000 (11:08 +0100)]
SVM patch to add BP exception intercept support.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
19 years agoSVM patch to init rsp properly.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:07:28 +0000 (11:07 +0100)]
SVM patch to init rsp properly.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
19 years agoSVM patch to add PAE support.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:06:43 +0000 (11:06 +0100)]
SVM patch to add PAE support.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
19 years agoSVM patch to add add init intercept handler.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:00:54 +0000 (11:00 +0100)]
SVM patch to add add init intercept handler.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
19 years agoThis fixes the state machine of the vTPM driver.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:59:08 +0000 (10:59 +0100)]
This fixes the state machine of the vTPM driver.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
19 years agoClean up xen Makefile. Use _-prefixed rules to avoid a
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:57:57 +0000 (10:57 +0100)]
Clean up xen Makefile. Use _-prefixed rules to avoid a
comparsion with XEN_ROOT variable.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoThis fixes the Xen Makefile to allow correct building of cscope, TAGS
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:45:43 +0000 (10:45 +0100)]
This fixes the Xen Makefile to allow correct building of cscope, TAGS
and tags. Prior to this the asm directory was not constructed correctly
for the "find" command. "xen\cscope.*" has been added to ".hgignore".

Signed-off-by: Aravindh Puthiyaparambil
               <aravindh.puthiyaparambil@unisys.com>

19 years agoThe comment in xen.h on how to obtain current system time was missing
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:41:53 +0000 (10:41 +0100)]
The comment in xen.h on how to obtain current system time was missing
a right shift by 32 bits.

Signed-Off-By: Bruce Rogers <brogers@novell.com>
19 years agoThe default value used to control whether the guest is set up with localtime
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:33:46 +0000 (10:33 +0100)]
The default value used to control whether the guest is set up with localtime
or utc in the RTC was wrong.

Signed-Off-By: Bruce Rogers <brogers@novell.com>
19 years agoThis is the initial patch for SMP PAE guest on x86-64 Xen.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:31:53 +0000 (10:31 +0100)]
This is the initial patch for SMP PAE guest on x86-64 Xen.
For vcpus=2, the SMP PAE guest can do kernel build successfully.
And it improves the stability of SMP guests.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xiaohui Xin xiaohui.xin@intel.com
19 years agoMake grant table map/unmap argument, host_addr, feature-specific.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:29:27 +0000 (10:29 +0100)]
Make grant table map/unmap argument, host_addr, feature-specific.
Introduce gnttab_set_map_op() and gnttab_set_unmap_op() to initialize.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoUnmap shadow vtable when freeing shadow table in free_shadow_pages().
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:12:16 +0000 (10:12 +0100)]
Unmap shadow vtable when freeing shadow table in free_shadow_pages().

Signed-off-by: Xin Li <xin.b.li@intel.com>
19 years agoUse copy_from_user when accessing linear page table in shadow_fault().
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 09:10:19 +0000 (10:10 +0100)]
Use copy_from_user when accessing linear page table in shadow_fault().
This is safer, and direct access may crash hypervisor by some potential
bug. Also remove some tailing space.

Signed-off-by: Xin Li <xin.b.li@intel.com>
19 years agoReset the cached state to XenbusStateInitialising on resume -- we're connecting
emellor@leeni.uk.xensource.com [Wed, 12 Apr 2006 17:53:38 +0000 (18:53 +0100)]
Reset the cached state to XenbusStateInitialising on resume -- we're connecting
to a new backend, so the state value needs to be reset.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
19 years agomerge with xen-unstable.hg
awilliam@xenbuild.aw [Wed, 12 Apr 2006 00:54:18 +0000 (18:54 -0600)]
merge with xen-unstable.hg

19 years ago[IA64] Makefile fix for xenirq.c removal
awilliam@xenbuild.aw [Tue, 11 Apr 2006 19:55:47 +0000 (13:55 -0600)]
[IA64] Makefile fix for xenirq.c removal

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] Remove xenirq.c.
awilliam@xenbuild.aw [Tue, 11 Apr 2006 19:55:40 +0000 (13:55 -0600)]
[IA64] Remove xenirq.c.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
19 years ago[IA64] Cleanup to irq.c
awilliam@xenbuild.aw [Tue, 11 Apr 2006 19:55:36 +0000 (13:55 -0600)]
[IA64] Cleanup to irq.c

This patch is a big cleanup to irq.c, with only real
necessary interfaces kept now. The irq subsystem of
xen is very simple since most external devices are
controlled by dom0. Also especially there's no need
to keep CONFIG_XEN everywhere, since this file is
already out of sync of linux version for a long time.
Actually xen defines irq related structures differently
and it's worthy of creating a xen specific version here.

Another change of this patch is to remove ugly check
upon timer/ipi within irq handler. Instead now we'll
check IRQ_GUEST flag of irq_desc to decide whether
to deliver irq to guest. Now all vectors un-registered
are set with IRQ_GUEST enabled, which is identical to
current assumption. Later this flag should be set only
per guest's request. Then Xen_do_irq is not reuqired
as the result of this change.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
19 years ago[IA64] warning fix
awilliam@xenbuild.aw [Tue, 11 Apr 2006 19:54:58 +0000 (13:54 -0600)]
[IA64] warning fix

Fixed some compilation warnings

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
19 years agoMerged.
emellor@leeni.uk.xensource.com [Tue, 11 Apr 2006 11:51:48 +0000 (12:51 +0100)]
Merged.

19 years agoFix KERNELS example, mkinitrd example.
emellor@leeni.uk.xensource.com [Tue, 11 Apr 2006 11:46:39 +0000 (12:46 +0100)]
Fix KERNELS example, mkinitrd example.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
19 years agoThe maximum instruction length for both x86-32 and
kaf24@firebug.cl.cam.ac.uk [Tue, 11 Apr 2006 09:44:07 +0000 (10:44 +0100)]
The maximum instruction length for both x86-32 and
x86-64 is 15 bytes (including all prefixes, opcode,
ModRM, SIB, displacement, and immediate bytes).
This patch adjusts the MAX_INST_LEN to the correct
value.  This should reduce the size of some variables
in the hypervisor code.  This patch also does some
minor code clean-up in the vm exit handler for VMX.

Signed-off-by: Khoa Huynh <khoa@us.ibm.com>
19 years agoWhen running test 5 in Memtest86+ v1.65, I got a "this opcode is not
kaf24@firebug.cl.cam.ac.uk [Tue, 11 Apr 2006 09:41:08 +0000 (10:41 +0100)]
When running test 5 in Memtest86+ v1.65, I got a "this opcode is not
supported", so I decided to add it. It's a compare operation, and it's
just the opposite of the already supported one (opcode 0x39), so it's
nothing spectacular. Why there's a page-fault when this instruction gets
executed, I haven't got a clue, but I have a feeling that Memtest86 is
doing something wrong :-( However, this fix may help some other code to
run too...

With this, Test 5 passes all the way through without crashing. I did see
some occassional memory errors in some other tests, and I'm not 100%
sure whether those are caused by the system or they are "real" memory
errors. At some time in the future I may get round to memory testing my
target system...

Signed off by: Mats Petersson (mats.petersson@amd.com).=20

19 years agoMake event_pending() architecture-specific.
kaf24@firebug.cl.cam.ac.uk [Tue, 11 Apr 2006 09:40:03 +0000 (10:40 +0100)]
Make event_pending() architecture-specific.
PowerPC needs this because the domain can directly modify the hardware's
"interrupts enabled" bit, and we don't want to patch Linux to replace
all those accesses to use evtchn_upcall_mask instead.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
19 years agoRemove some bogus .PHONY Makefile declarations.
kaf24@firebug.cl.cam.ac.uk [Tue, 11 Apr 2006 08:58:04 +0000 (09:58 +0100)]
Remove some bogus .PHONY Makefile declarations.
Fixes xentop installation.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[IA64] get_pfn_list workaround
awilliam@xenbuild.aw [Mon, 10 Apr 2006 21:13:42 +0000 (15:13 -0600)]
[IA64] get_pfn_list workaround

As we know, the mechanism for hypervisor to pass parameter through pointer
is not complete. Hypervisor use copy_from/to_user functions to copy parameter
to hypervisor and copy result to user, if there is a tlb miss happening and
hypervisor can't handled this. This hypercall fails, there is no mechanism to
handle this failure, that may cause domain crash. Get_pfn_list hypercall copy
large data from hypervisor to user, it is easy to trigger this issue when
creating VTI-domain.

If fails, Get_pfn_list returns the number of pfn entries, and this patch will
Dummy access parameter memory block to cause this tlb mapping tracked by
Hypervisor, then continue to do get_pfn_list.

It's a workaround before we design a new mechanism of passing parameter thr
pointer.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
19 years ago[IA64] access reflect fix
awilliam@xenbuild.aw [Mon, 10 Apr 2006 20:54:35 +0000 (14:54 -0600)]
[IA64] access reflect fix

Before injecting fault to guest, VMM need to setup
guest itir by using guest region register.
But the lowest two bits of itir are reserved. VMM need
to reset these two bits.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
19 years ago[IA64] ptc.ga for SMP-g
awilliam@xenbuild.aw [Mon, 10 Apr 2006 20:51:38 +0000 (14:51 -0600)]
[IA64] ptc.ga for SMP-g

Implementation of ptc.ga for SMP-g.

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