Commit Graph
10863 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 160bfb4e1c [LINUX] update_va_mapping multicalls: Use MULTI_UVMxxx_INDEX where possible.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-07-28 17:25:20 +01:00
kfraser@localhost.localdomain 6faab8acaf [PCI] Pcifront for ia64.
Added in Kconfig.
On ia64, use ia64 sysdata instead of pcifront genuine one.
Fix a warning on xenbus.c

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-28 17:23:15 +01:00
kfraser@localhost.localdomain d5dd60406f [NET] front: Added feature-rx-notify
This patch adds support to the frontend for notifying the backend whenever
the rx ring is refilled.  This is required in order for the backend to
get a tx queue.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Modified to only send notification if req_event index is set
appropriately.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-28 17:13:08 +01:00
kfraser@localhost.localdomain 648ad07608 [NET] back: Replace netif->status with netif_carrier_ok
The connection status to the frontend can be represented using
netif_carrier_ok instead of netif->status.  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.

By the same token, netif->active is now simply the conjunction of
netif_running and netif_carrier_ok so it too can be removed.

Because netif_carrier_off/netif_carrier_on and rtnl_lock all entail
memory barriers, there is no need to have extra memory barriers around
them.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-07-28 17:04:55 +01:00
kfraser@localhost.localdomain db9f62f570 [NET] front: Move rx req pushing to one spot
This patch moves all rx request pushing to network_alloc_rx_buffers.
This is needed to reduce churn for TSO.  More importantly, this makes
it easier to send notifications when adding rx requests which is
required for having a queue in dom0.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-07-28 17:03:26 +01:00
kfraser@localhost.localdomain 47a078f101 [NET] front: Clean up rx ring recovery.
Signed-off-by: Keir Fraser <keir@xensource.com>

This is an update to c/s
10855:03c8002068d9d60c7bbfc2f41af975e09b2e2211
which should have contained the following changeset message
(rather than 'Merge.').

[NET] front: Stop using rx->id

With the current protocol for transferring packets from dom0 to domU,
the
rx->id field is useless because it can be derived from the rx request
ring
ID.  In particular,

        rx->id = (ring_id & NET_RX_RING_SIZE - 1) + 1;

This formula works because the rx response to each request always
occupies
the same slot that the request arrived in.  This in turn is a
consequence
of the fact that each packet only occupies one slot.

The other important reason that this works for dom0=>domU but not
domU=>dom0
is that the resource associated with the rx->id is freed immediately
while
in the domU=>dom0 case the resource is held until the skb is liberated
by
dom0.

Using this formula we can essentially remove rx->id from the protocol,
freeing up space that could be instead be used by things like TSO.
The
only constraint is that the backend must obey the rule that each id
must
only be used in the response that occupies the same slot as the
request.

The actual field of rx->id is still maintained for compatibility with
older backends.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-07-28 17:00:10 +01:00
kfraser@localhost.localdomain 447fae9b0a Merge. 2006-07-28 16:54:17 +01:00
kfraser@localhost.localdomain 30ec819826 Merge. 2006-07-28 16:53:58 +01:00
kfraser@localhost.localdomain b907e33985 [IA64] Add missing empty files. 2006-07-28 16:53:35 +01:00
sos22@douglas.cl.cam.ac.uk 2be92f3f4e Merge. 2006-07-28 14:09:05 +01:00
sos22@douglas.cl.cam.ac.uk e6ce746c39 [MINI-OS] Add a function mapping grant table error codes to strings.
Signed-off-by: John D. Ramsdell <ramsdell@mitre.org>
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-07-28 14:06:27 +01:00
sos22@douglas.cl.cam.ac.uk e573f4fac0 [MINI-OS] Add evtchn_bind_interdomain to mini-os, allowing clients to
bind to interdomain event channels.

Signed-off-by: John D. Ramsdell <ramsdell@mitre.org>
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-07-28 14:05:02 +01:00
sos22@douglas.cl.cam.ac.uk 194a6f6b1f [MINI-OS] Extend alloc_unbound so that the remote domain isn't always dom0.
Signed-off-by: John D. Ramsdell <ramsdell@mitre.org>
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-07-28 14:03:54 +01:00
sos22@douglas.cl.cam.ac.uk a0f55d516b [MINI-OS] Clean up event channel types in mini-os.
Signed-off-by: John D. Ramsdell <ramsdell@mitre.org>
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-07-28 14:02:49 +01:00
kfraser@localhost.localdomain a11943ada5 [LIBXC] Generic include of arch-specific sub-makefile.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-28 14:00:57 +01:00
sos22@douglas.cl.cam.ac.uk d4b239ecc1 [MINI-OS] unbind_virq is broken and nobody uses it. Remove it.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-07-28 14:00:37 +01:00
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