Commit Graph
9768 Commits
Author SHA1 Message Date
awilliam@xenbuild.aw 40e34e2a34 [IA64] Hypercall cleanup
Clean up xen_hypercall to query hypercall table instead.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-04-25 22:27:18 -06:00
awilliam@xenbuild.aw 0017c898c6 [IA64] Use16M page size in identity mapping
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2006-04-25 22:10:05 -06:00
awilliam@xenbuild.aw ba20f187b7 [IA64] cleanup vtlb code
This patch is to clean up vtlb code.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2006-04-25 20:53:38 -06:00
awilliam@localhost e737afb883 [IA64] emulate ldfp8 in mmio
1. emulate ldpf8 in mmio
2. handle floating point register rotation in functions setfpreg and getfpreg

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2006-04-25 17:05:16 -06:00
awilliam@localhost e1a87a84be [IA64] linux: arch/ia64/xen/makefile change
update linux-2.6-xen-sparse/arch/ia64/xen/Makefile

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 16:55:09 -06:00
awilliam@localhost 05e3e3c89e [IA64] dma paravirtualization
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 16:53:27 -06:00
awilliam@ldap.hp.com 44ecda1d9d [IA64] add dom0vp hypercall interfaces
adds the dom0vp hypercall interfaces.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 14:02:21 -06:00
awilliam@ldap.hp.com 6283fce6f0 [IA64] introduce config option
introduce XEN_IA64_DOM0_VP config.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 13:57:56 -06:00
awilliam@ldap.hp.com b4b8b91251 [IA64] introduce dom0vp hypercalls
implement dom0vp hypercall.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 13:56:30 -06:00
awilliam@ldap.hp.com 18982c3adb [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>
2006-04-25 13:48:02 -06:00
awilliam@ldap.hp.com 14ecb6faa4 [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>
2006-04-25 13:11:15 -06:00
awilliam@ldap.hp.com 406b52ce50 [IA64] introduce P2M conversion
introduce P2M conversion functions necessary for dom0vp model.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 13:06:57 -06:00
awilliam@ldap.hp.com fbc92d2b9d [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>
2006-04-25 10:54:45 -07:00
awilliam@ldap.hp.com 19d0ab2382 [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>
2006-04-25 10:50:56 -07:00
awilliam@ldap.hp.com f7d50b68c3 [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>
2006-04-25 10:49:33 -07:00
awilliam@xenbuild.aw 9cc9df7182 [IA64] SMP-guest
Final SMP-guest patch: add IPI and boot rendez-vous support.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-04-21 10:40:17 -06:00
awilliam@xenbuild.aw bd546a62ac [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>
2006-04-21 09:20:13 -06:00
awilliam@xenbuild.aw c314ec5a2f [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>
2006-04-21 09:11:46 -06:00
awilliam@xenbuild.aw d76078bf0a [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>
2006-04-21 09:09:16 -06:00
awilliam@xenbuild.aw 2c9cd5beb4 [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>
2006-04-21 09:06:38 -06:00
awilliam@xenbuild.aw 633da67231 [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>
2006-04-21 09:03:19 -06:00
awilliam@xenbuild.aw 7b89941a2c [IA64] Compile iosapic within xen
Compile iosapic within xen. Part of code from Tristan.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-04-21 08:56:34 -06:00
awilliam@xenbuild.aw 505cbfa6e7 [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>
2006-04-21 08:56:24 -06:00
awilliam@xenbuild.aw 30d51f2217 [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>
2006-04-19 10:39:15 -06:00
awilliam@xenbuild.aw 20bbee56dd [IA64] cleanup of vhpt.h
Cleanup: collision chain declaration and code removed (was unused).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-04-19 10:35:31 -06:00
awilliam@xenbuild.aw 7d62648225 [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>
2006-04-19 10:32:36 -06:00
awilliam@xenbuild.aw 1c6eb984c7 [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>
2006-04-19 10:26:50 -06:00
awilliam@xenbuild.aw 4ba673ce1e [IA64] Use a constant instead of an hard-coded value.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-04-19 10:24:33 -06:00
awilliam@xenbuild.aw dc1c0a8170 merge with xen-unstable.hg 2006-04-18 09:35:40 -06:00
awilliam@xenbuild.aw 19b97f984d [IA64] cleanup CONFIG_VIRTUAL_MEM_MAP.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-04-17 08:47:36 -06:00
awilliam@xenbuild.aw ed6ccffbeb [IA64] Remove unused variables. init_mm and swapper_pg_dir.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-04-17 08:46:52 -06:00
awilliam@xenbuild.aw de32c22ad3 [IA64] Add support for discontiguous physical memory.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-04-17 08:46:04 -06:00
kaf24@firebug.cl.cam.ac.uk 5473475c0e 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>
2006-04-16 15:41:31 +01:00
kaf24@firebug.cl.cam.ac.uk caf5ad4416 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>
2006-04-16 15:04:21 +01:00
emellor@leeni.uk.xensource.com e264f7c0c4 Merged. 2006-04-15 19:25:21 +01:00
emellor@leeni.uk.xensource.com 3ae4ba6c3c 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>
2006-04-15 19:25:09 +01:00
kaf24@firebug.cl.cam.ac.uk f6b7b3d0c4 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>
2006-04-15 18:09:52 +01:00
kaf24@firebug.cl.cam.ac.uk e8b7f0719c Remove bogus extern declaration.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-15 15:53:53 +01:00
kaf24@firebug.cl.cam.ac.uk b2eff55649 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>
2006-04-15 11:28:55 +01:00
kaf24@firebug.cl.cam.ac.uk dcdbc9744c Touch softlockup watchdog while warning user about use of
tls libraries.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-15 10:16:05 +01:00
kaf24@firebug.cl.cam.ac.uk c702fb4c9d 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>
2006-04-15 10:07:31 +01:00
kaf24@firebug.cl.cam.ac.uk 660442fdaf Fix SETMAXMEM dom0_op with proper locking.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-15 09:52:32 +01:00
kaf24@firebug.cl.cam.ac.uk 16d1b5e9db 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
2006-04-15 09:47:55 +01:00
awilliam@xenbuild.aw 33ccc02de9 [IA64] fix a mmio bug
Fix a bug in mmio emulation

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2006-04-14 14:24:09 -06:00
emellor@leeni.uk.xensource.com abd30192c0 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>
2006-04-14 21:22:09 +01:00
awilliam@xenbuild.aw b351f0bb27 [IA64] vmx_vcpu_set_rr: check rid validity
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-04-14 14:21:54 -06:00
awilliam@xenbuild.aw 1ea9b79e0f [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>
2006-04-14 14:20:04 -06:00
Ryan Harper 73b491c2a0 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>
2006-04-14 21:15:38 +01:00
awilliam@xenbuild.aw d1002a5a81 [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>
2006-04-14 14:13:13 -06:00
kaf24@firebug.cl.cam.ac.uk 40212eeb61 Restrict netfront to 256 grant references to avoid
exhausting the global pool.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-14 15:05:28 +01:00