Commit Graph
10847 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 30db84a57a [PCI] Basic documentation for the per-device permissive
flag and the two policy files.  However, the general intent of this
patch set is to avoid the need for user interaction, so documentation
is somewhat sparse.

Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
2006-07-28 13:00:57 +01:00
kfraser@localhost.localdomain 3b71aa2851 [PCI] Two policy files written in what is intended to be human-readable SXP.
1. xend-pci-quirks.sxp:

Specifies which PCI device(s) may write to a set of PCI configuration
space registers.  A quirky PCI device is identified by its vendor ID,
device ID, subvendor ID, and subdevice ID.  If a matching entry is
found, the corresponding fields will be sent to the PCI bus manager.
Fields are composed of a register, size, and mask -- although the mask
field is currently unused.

The included policy file is for a range of tg3 devices, which is the
only type of quirky device I know about.  Users with other quirky
devices are invited to either add entries to this policy file or add
an entry in the permissive file, described next.  In either case, send an
email to the xen-devel list to make the device known.

2. xend-pci-permissive.sxp

Lists PCI devices that pciback should not prevent from writing to
their configuration space.  This can be necessary if, for example, a new
Tigon3 devices is released with different PCI vendor/device values
such that no entry in xend-pci-quirks.sxp is triggered.

Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
2006-07-28 12:59:48 +01:00
kfraser@localhost.localdomain 2b9c0e336c [PCI] xend parses the user-space PCI backend policy files and sends
the corresponding fields to the PCI bus manager via sysfs nodes:

/sys/bus/pci/drivers/pciback/quirks
/sys/bus/pci/drivers/pciback/permissive

xend reads the policy file every time it creates a new domain that was
assigned a PCI device.

Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
2006-07-28 12:57:55 +01:00
kfraser@localhost.localdomain 4c975eb710 [PCI] Per-device permissive flag (replaces global permissive flag).
Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
2006-07-28 12:56:10 +01:00
kfraser@localhost.localdomain 5b0a11ef14 [PCI] Allow per-device configuration for fine-grained control over PCI
configuration space writes, with a goal that was also previously
described by Ryan:

"Permissive mode should only be used as a fall back for unknown
devices.
I think the correct solution for dealing with these device-specific
configuration space registers is to identify them and add the
device-specific fields to the overlay. This patch adds a special
configuration space handler for network cards based on the tg3 linux
network device driver. This handler should allow for reads/writes to
all of the configuration space registers that the tg3 driver requires."

This patch attempts to address concerns with Ryan's original
submission by moving policy from the dom0 kernel into dom0 user-space.
As new quirky devices emerge they can be incorporated into the user-space
policy.  An added benefit is that changes to the policy are effective
for domains created after the changes are written (no need rebuild the
hypervisor or restart xend).

Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
2006-07-28 12:54:58 +01:00
kfraser@localhost.localdomain a111f90b19 [LINUX] Clean up reboot.c suspend handling.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-28 11:10:08 +01:00
kfraser@localhost.localdomain 0083f2b1b3 MErge with xenppc-unstable-merge.hg 2006-07-28 10:51:38 +01:00
kfraser@localhost.localdomain 55fba226a5 Merge with xen-ia64-unstable.hg.
Remove changes to ioemu.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-28 10:33:52 +01:00
chris@kneesaa.uk.xensource.com 15abeaba25 [qemu] Fix reads on unreported memory addresses.
The function cpu_physical_memory_rw() thinks that if an address is
not mmio-related, it is assumed to be a RAM case. This is improper.
When making the assumption, we should make sure the address is less
than the guest physical memory size ram_size.  

From: Cui, Dexuan <dexuan.cui@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-28 10:12:23 +01:00
Hollis Blanchard 7651defa19 [powerpc] implement per-cpu data areas, based on x86 code
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-07-27 17:44:14 -05:00
Hollis Blanchard fa4edfcc31 [powerpc] implement page_is_removable()
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-07-27 17:23:42 -05:00
awilliam@xenbuild.aw 0fe57ed434 merge with xen-unstable.hg 2006-07-27 10:43:34 -06:00
awilliam@xenbuild.aw e4e6f4d295 [IA64] IO ports for driver domains.
Map/unmap IO ports.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-27 10:00:00 -06:00
awilliam@xenbuild.aw 2f0508c720 [IA64] warning fix
unused variable removal

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-07-27 09:47:59 -06:00
awilliam@xenbuild.aw 0ba183ab7e [IA64] iomem support for driver domains.
First steps in hypevisor to support driver domains.

IO ports capabilities added (not yet used).
IO mem capabilities checked.
ASSIGN_nocache flag added.
Memory attributes checked.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-27 09:47:10 -06:00
awilliam@xenbuild.aw fc3d48f35d [IA64] include asm/vhpt.h in ivt.S
Include asm/vhpt.h to define VHPT_GLOBAL and VHPT_ENABLED.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-27 09:17:54 -06:00
awilliam@xenbuild.aw 47c4e81c74 [IA64] remove a debug message
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-27 09:16:32 -06:00
awilliam@xenbuild.aw 797723c1a5 [IA64][qemu] add changes lost from xen-ia64 cset 10570
This adds back changes from xen-ia64-unstable.hg cset:

10570:8dc4af3f192c7c1ef3cd6921196997b903d25add

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-07-27 09:15:01 -06:00
awilliam@xenbuild.aw 9bc93707b1 [IA64] Remove unused contig mem flag for VTi
Remove the confusing flag ARCH_VMX_CONTIG_MEM for VTi domain. And add a 
flag ARCH_VMX_DOMAIN to ensure VMX_DOMAIN check on all vcpus.

Signed-off-by : Zhang xiantao <xiantao.zhang@intel.com>
2006-07-27 08:47:39 -06:00
kfraser@localhost.localdomain 9314b23b01 Revert previous changeset. Needs more review.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-27 14:06:15 +01:00
kfraser@localhost.localdomain e91cb0ab6f [NET] back: Replace netif->active with netif_carrier_ok
The connection status to the frontend can be represented using
netif_carrier_ok instead of netif->active.  As a result, we delay
the construction of the dev qdisc until the carrier comes on.  This
is a prerequisite for adding a tx queue.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-07-27 13:52:02 +01:00
kfraser@localhost.localdomain 8fd94b35bf [NET] back: Make use of the simplicity of tasklets in net_rx_action
Tasklets have the property that each one is running on only one CPU at
any time.  This means that you don't have to worry about the tasklet
racing against itself.  Therefore any resources used by just a single
tasklet does not need to be guarded by locks.

Since net_rx_action is the only user of alloc_mfn, we can remove the
mfn_lock that guard it.

The notify_list array is huge by Linux standards so placing it on the
stack is unsafe.  Since net_rx_action is not re-entrant, we can simply
make it static.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-07-27 13:34:09 +01:00
kfraser@localhost.localdomain b93f5d8456 [NET] front: Zero gso features/pad
Set unused gso features/pad values to zero for forward-compatibility.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-07-27 13:32:29 +01:00
kfraser@localhost.localdomain 0dc2d9ef5d Remove unused definitions in xc_hvm_build.c.
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-07-27 13:19:28 +01:00
kfraser@localhost.localdomain 43077b4779 Clear MPT l2 entries when allocating monitor pagetable
Changeset 10734 removed the code clearing MPT l2 entries, however
these entries are stained when copying from idle_pg_table_l2.

Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-07-27 13:18:36 +01:00
kfraser@localhost.localdomain 2da7319d6a map_p2m_entry only needs gpfn and gmfn as input parameters.
Current map_p2m_entry has a redundant input parameter 'va', this patch
removes it.

Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-07-27 13:17:58 +01:00
kfraser@localhost.localdomain 3461dbd75f [IA64] Fix of C/S 10529:4260eb8c08740de0000081c61a6237ffcb95b2d5 for IA64.
When page is zapped from a domain, the page referenced counter
is checked. But it results in false positive alert on Xen/IA64
because a page 'in use' has reference count 2 on Xen/IA64.
- a page is assigned to guest domain's psudo physical address space.
  This is decremented by guest_physmap_remove_page()
- a page is allocated for a domain.
  This is decremented by the following put_page()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-07-27 13:17:17 +01:00
kfraser@localhost.localdomain 9684bace62 [HVM][VMX] Fix injection of software exceptions (#BP,#OF)
From: George Dunlap <dunlapg@umich.edu>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-27 13:05:33 +01:00
kfraser@localhost.localdomain 65bb7cea27 Build Xen with at least -O1 to avoid very large stack frames.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-27 12:59:36 +01:00
chris@kneesaa.uk.xensource.com 28683978a7 [qemu] Fix -net tap option when no ifname is specified.
Uninitialized ifname can cause qemu to quit.  If the first character of the
ifname is not \0, qemu will think it's a valid ifname and configure
/dev/net/tun to use it.  The configuration fails and qemu exits.

Based on a patch from: Steve Dobbelstein <steved@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-27 11:20:32 +01:00
chris@kneesaa.uk.xensource.com b26303fc1e [qemu] Add missing vga_bios_init call.
From: Zhang, Xiantao <xiantao.zhang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-27 11:12:04 +01:00
awilliam@xenbuild.aw 15570803c2 merge with xen-unstable.hg for tools/ioemu build fix 2006-07-26 15:59:36 -06:00
chris@kneesaa.uk.xensource.com e01c924c18 [qemu] Remove duplicate ia64 testandset implementation.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 21:13:24 +01:00
Jimi Xenidis c1f51dcc17 [powerpc] more register information in the register dump.
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
2006-07-26 14:25:07 -04:00
Jimi Xenidis 9265d9a995 [powerpc] domain building fixes for linux kexec model
The following updates are included:
  - No stack allocation is necessary
  - Some buggy kernels require r13 to be zeroed
  - the DTB must be loaded from a fixed address, we are using
    "/root/DomU.dtb" until we have the tools build the DTB on their
    own.
  - Though we give the PFN of the store and console pages to the new
    domain we must make sure the MFN is given to the tools.

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
2006-07-26 14:24:09 -04:00
awilliam@xenbuild.aw d2ac905a14 merge with xen-unstable.hg 2006-07-26 10:49:32 -06:00
awilliam@xenbuild.aw 0adf62a2ae [IA64] nasty bug fix
Bug fix: restore phys_addr field, because some other Xen
functions consider it as unused.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-26 09:41:24 -06:00
awilliam@xenbuild.aw f08a891ab3 [IA64] linux without SMP
Add #ifdef CONFIG_SMP so that linux can compile without SMP.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-26 09:39:38 -06:00
awilliam@xenbuild.aw 2ac4721161 [IA64] live migration
Shadow mode and live migration.

Virtualize Dirty bit.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-26 09:36:36 -06:00
awilliam@xenbuild.aw 30add1d7c3 [IA64] increase buffer size in panic_domain().
128 bytes is too short.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-07-26 09:02:43 -06:00
chris@kneesaa.uk.xensource.com f450023e01 [qemu] Initialize vga from within qemu for when the bios doesn't do so.
On xen/x86, vga bios is copied to 0xC0000 by guest firmware.
However on ia64 platform, native firmware depends on some
initialization vga state at power on and so does guest firmware.
That's why that vga bios initialization stub is required for vti
domain, to match platform requirement.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 15:20:30 +01:00
chris@kneesaa.uk.xensource.com 3c2eba856f [qemu] Add access to the monito vt over VNC.
Recognize ctrl+alt+1/2/3 to switch among screens.

Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 14:52:47 +01:00
chris@kneesaa.uk.xensource.com f1b0353ce1 [qemu] sync patches and add file missing from cset 10738:42aa63188a88
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 14:38:00 +01:00
chris@kneesaa.uk.xensource.com e9f8582d3a [qemu] Use domain-name in VNC window title.
Set the VNC window title with domain-name.

Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 14:26:03 +01:00
chris@kneesaa.uk.xensource.com 56e84492d5 [qemu] Re-calculate color_table after color depth reset.
VNC client may reset color depth after connection, so if we don't
re-calculate color_table, monitor/console's background is abnormal.

Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 14:20:13 +01:00
chris@kneesaa.uk.xensource.com 5ac14a2322 IA64-specific code for new Qemu
Due to some ia64 patches aren't checked into xen-unstable.hg.
I reversed related logic. 

Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 13:41:10 +01:00
kfraser@localhost.localdomain 49b537fc59 Remove unnecessary include of linux/compiler.h in libxenstat.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-07-26 13:36:13 +01:00
chris@kneesaa.uk.xensource.com f2cdd93694 [qemu] Fix HVM guests with more than 2G RAM on x86_64,
where "startx" will cause qemu dm to die.

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 13:23:05 +01:00
chris@kneesaa.uk.xensource.com 9d5e9fd0c6 Fix cirrus and rt8139 co-exist issue in new qemu-dm.
The root cause is that if two MMIO spaces are continuous, qemu may misuse
last MMIO space's read/write to handle current request.

Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-07-26 11:47:44 +01:00
kfraser@localhost.localdomain e1c85225b6 [HVM] Sync p2m table across all vcpus on x86_32p xen.
We found VGA acceleration can not work on SMP VMX guests on x86_32p
xen, this is caused by the way we construct p2m table today: only the 1st
l2 page table slot that maps p2m table pages is copied to none-vcpu0 vcpu
monitor page table when VMX is created. But VGA acceleration will
create some p2m table entries beyond the 1st l2 page table slot after HVM is
created, so only vcpu0 can get these p2m entries, and other vcpu can
not do VGA acceleration.

Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-07-26 11:34:12 +01:00