Commit Graph
1823 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 8f3784dc2b [LINUX] Fix clear_fixmap().
On i386-PAE, clear_fixmap() results in ill use of set_pte(). In all
contexts, p2m translations shouldn't occur here. Note that this is not
really an issue on native linux, as there is
(a) no pfn-to-mfn translation and
(b) __set_fixmap() takes an unsigned long physical address rather than
    a paddr_t, which makes it so that bits 32 and up of the physical
    address are always zero, permitting either order store when
    clearing the entry.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-11-13 13:37:54 +00:00
kaf24@localhost.localdomain 2fb1143669 [PRIVCMD] Fix build warning when sizeof(long) > sizeof(int).
Original patch from Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-11 01:40:16 +00:00
awilliam@xenbuild.aw 8eb135484e merge with xen-unstable.hg 2006-11-10 11:11:04 -07:00
kfraser@localhost.localdomain b63bf4c482 [LINUX] Support variable hypervisor_virt_start.
Introduce a new elfnote that specifies the lower boundary the kernel
wants to tolerate for the hypervisor hole.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-11-10 17:35:09 +00:00
kfraser@localhost.localdomain afb74c5973 Revert 12361:32f7b40ace426d3acdf26c21c20cb6b4562d9f10.
We should support the XENMEM_memory_map hypercall properly
to fix this issue.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-10 14:53:00 +00:00
kfraser@localhost.localdomain 6de27d5b5e [LINUX] Extend physical mapping to maxmem instead of mem
As currently physical mapping only reaches the initial reservation,
we're unable to balloon up to more than mem (even when maxmem > mem)
in any situation.

Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
2006-11-10 14:22:30 +00:00
Ian Campbell 1622d92410 PV-on-HVM: TSO support prior to 2.6.9 appears to be unreliable,
especially when firewalling is enabled.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-11-10 12:34:28 +00:00
Ian Campbell 79b9968ae5 PV-on-HVM: Do not enable barriers in blkfront before 2.6.16
Barrier support was rewritten after 2.6.15. Perhaps it would be
possible to implement support for old kernels as well but for now it
is easier to just disable them.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-11-10 12:34:26 +00:00
kfraser@localhost.localdomain a1daf484e9 [BLK] Add support for barrier writes to blkfront/blkback.
Protocol changes:
 * There is a new operation (BLKIF_OP_WRITE_BARRIER)
   to pass on barrier requests.
 * There is a new state (BLKIF_RSP_EOPNOTSUPP) to indicate
   unsupported operations (barrier writes may fail depending
   on the underlying block device).
 * A new xenstore node named "feature-barrier" indicates the
   backend is able to handle barrier writes.  The value can
   be 1 (all is fine) or 0 (underlying block device doesn't
   support barriers).

blkback changes:  Add "feature-barrier" node to indicate barrier
support, pass incoming barrier requests to the block layer using
submit_bio(WRITE_BARRIER, bio).  Some error handling fixes to
properly pass through barrier write failures, so the frontend
can turn off barriers then.

blkfront changes:  Check if the backend sets "feature-barrier", if
present switch to QUEUE_ORDERED_DRAIN mode.  Send off barrier
requests to the backend using the new BLKIF_OP_WRITE_BARRIER
operation.  Also some error handling for the EOPNOTSUPP case.

Background:  Barriers are needed to make journaling filesystems work
reliable.  For some requests they need order constrains to make the
transactions work correctly.  Barrier requests are used to pass that
ordering information to the block layer and/or to the device, so the
constrains are obeyed when reordering requests for better write
performance.

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
2006-11-09 16:49:59 +00:00
kfraser@localhost.localdomain de083f6648 [BLK] Expand number of fake-SCSI VBD volumes supported to 120.
Signed-off-by: Takanori Kasai <Kasai.Takanori@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-11-09 12:07:28 +00:00
kfraser@localhost.localdomain 39b46b711f [BLKTAP] ia64 support
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-11-07 11:17:39 +00:00
kfraser@localhost.localdomain c58282c9f4 [BLKTAP] avoid race between tapdisk and xvd daemon with ufe_ring.
- Tapdisk updates rsp_cons by ioctl(). on the other hand xvd daemon
  reads rsp_cons in do_block_io_op() with RING_FULL().
  Copy request and memory barrier before updating rsp_cons.
- Tapdisk access req_prod_pvt with select(). on the other hand xvd
  daemon updates it in do_block_io_op().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-11-07 11:14:52 +00:00
kfraser@localhost.localdomain 720860012a [BLKTAP] Various cleanups necessary for ia64 support.
- remove magic number 8 and 64.
  page size / sector size is 8 on x86, however on ia64 page size is
  16kb.
  blkring size is 64 on x86. however it's 128 on ia64.
- replace 0xFFFF with INVALID_GRANT_HANDLE
- don't map io ring into user space with uncachable.
  kernel access the page with cacable and tapdisk uses memory barrier
  so that it isn't necessary.
- remove printk warning and inserted new line.
- remove unused variable, page.
- add one BUG()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-11-07 11:01:35 +00:00
kfraser@localhost.localdomain 53aff3a78c [NET] back: Fix wrap to zero in transmit credit scheduler.
This could happen when credit_bytes == ~0UL (i.e., scheduling is 'disabled').
Signed-off-by: Kirk Allan <kallan@novell.com>
2006-11-07 09:48:19 +00:00
kfraser@localhost.localdomain ff8bf0b0f4 PV-on-HVM: Fix PV-on-HVM drivers need maddr.h included for defn of maddr_t.
Signed-off-by: Takanori Kasai <Kasai.Takanori@jp.fujitsu.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-11-07 09:29:53 +00:00
kfraser@localhost.localdomain 77d409f7f2 [LINUX] Use pfn_to_page instead of relying in memory assumptions
This makes usage agnostic wrt the memory model being used.

Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
2006-11-07 09:28:18 +00:00
kfraser@localhost.localdomain adf74ce752 [LINUX] Don't use uint64_t parameter to gnttab_set_{,un}map_op() when
the upper 32 bits will never be used (i.e., i386 non-pae).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-11-06 09:02:15 +00:00
kfraser@localhost.localdomain 66d409985f [LINUX] Clean up header includes (gnttab.h from fixmap.h).
include/asm-{i386,x86_64}/mach-xen/asm/fixmap.h was needlessly
including include/xen/gnttab.h. Removing this made necessary explicit
inclusion of that header in tpm_xen.c, the build of which should not
have succeeded on non-x86 architectures before.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-11-03 12:10:02 +00:00
kfraser@localhost.localdomain 7fd6304c64 [BLKTAP] Fix gnttab unmap call to specify that address contains PTE.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-11-03 12:08:42 +00:00
kfraser@localhost.localdomain af7afdc2a1 [BLKTAP] Fix Linux and Xen gnttab map operations when mapping into
PTEs above 4GB on PAE systems.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
2006-11-02 18:18:19 +00:00
Ian Campbell 680c789da1 PV-on-HVM: Conditionally disable checksum offload for receive on some
older kernels.

On some older kernels the CHECKSUM_UNNECESSARY flag on received
skbuffs is not honoured by all subsystems, specifically netfilter
under 2.6.9-42.EL

To work around this we need to ensure that the correct checksum is
calculated at some point. We can cause the backend to do this for us
by advertising to the backend that we cannot support checksum offload.

The correlation of this issue with the presence of NETIF_F_TSO is not
100% but it is a good first approximation.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-11-02 11:56:26 +00:00
Ian Campbell 4101fafcc0 PV-on-HVM: Tweak reboot.c to be compatible with older kernels.
call_usermodehelper_keys() was not available until 2.6.13 but since we
pass session_keyring as NULL we may as well use call_usermodehelper()
anyway.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-11-02 11:56:26 +00:00
Ian Campbell d8656aaa3e PV-on-HVM: Fix PV-on-HVM drivers for IA64.
Thanks to Kasai Takanori and Doi Tsunehisa for testing.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-11-02 11:56:26 +00:00
kfraser@localhost.localdomain 27c01325d4 [NET] front: Clean up error handling. This eliminates earlier
workaround patch for an observed crash.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-31 16:18:07 +00:00
kfraser@localhost.localdomain fc229c860b Clean up recent changes to reboot code. This fixes PV save/restore.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-31 15:54:03 +00:00
Steven Smith 69ff2305bb Merge. 2006-10-31 11:44:47 +00:00
Steven Smith 937f23487a [NETFRONT] Make sure we don't crash if the backend goes to state
Closing before we have a chance to connect.  This can happen if
there's an error while connecting.

Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-10-31 11:31:34 +00:00
Steven Smith 98f201b0e5 Merge. 2006-10-31 10:12:35 +00:00
Steven Smith 111a11e5f5 [HVM][LINUX][TOOLS] Split control/reboot_module into control/feature-reboot
and control/feature-sysrq.  This is more consistent with the other
PV device protocols.

Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-10-31 10:11:53 +00:00
Steven Smith 65ae4fc8cd [HVM][LINUX][TOOLS] Make xm {shutdown|reboot} do something sensible for HVM
domains with PV drivers loaded.  This patch creates a new PV-on-HVM
module, reboot.ko, which, when loaded, creates control/reboot_module
in the store.  The tools notice this, and disable the watch which would
normally destroy HVM domains which are the target of an xm shutdown
command, allowing the reboot module to shut the domain down cleanly.

Signed-off-by: Tetsu Yamamoto <yamamoto.tetsu@jp.fujitsu.com>

(Checkin comments by Steven Smith <sos22@cam.ac.uk>)
2006-10-31 09:54:49 +00:00
kfraser@localhost.localdomain f99eaa7a3b [NET] back: Remove warning about non-zero tx queue length.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-31 09:49:31 +00:00
kfraser@localhost.localdomain 11b39cba56 [LINUX] Fix build breakage from previous patch.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-30 14:28:29 +00:00
kfraser@localhost.localdomain 3d91901864 [LINUX] Use CONFIG_XEN_COMPAT_030002 where possible.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-10-30 14:14:46 +00:00
kfraser@localhost.localdomain fa088340b4 [LINUX] Declare structs as 'static __initdata' where possible.
Probably still not catching all possible cases, but using static
(where not already the case) makes the code size smaller, and using __initdata
has the usual advantages.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-10-30 14:09:13 +00:00
kfraser@localhost.localdomain 8ba0049cfc [LINUX] privcmd: Range-check hypercall index.
Otherwise, bugs in e.g. libxc may bring the kernel down.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-10-30 14:04:44 +00:00
awilliam@xenbuild.aw 3397904b3d [IA64] fix xenperf
xenperf became not to work due to xencomm.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-10-29 11:13:30 -07:00
awilliam@xenbuild.aw 2993e9e5bb [IA64] MCA support - use xencomm to copy SAL error log
Signed-off-by: Yutaka Ezaki <yutaka.ezaki@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
2006-10-29 09:27:18 -07:00
awilliam@xenbuild.aw 61337dd1ac [IA64] MCA support - add include/asm-ia64/sal.h to sparse tree
Signed-off-by: Yutaka Ezaki <yutaka.ezaki@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
2006-10-29 09:27:17 -07:00
awilliam@xenbuild.aw 1f108dbd81 [IA64] MCA support - Define MCA interrupt vector
Signed-off-by: Yutaka Ezaki <yutaka.ezaki@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
2006-10-29 09:27:15 -07:00
awilliam@xenbuild.aw 3614e3523b [IA64] MCA support - Add binding of virq/ipi to irq
Signed-off-by: Yutaka Ezaki <yutaka.ezaki@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
2006-10-29 09:27:14 -07:00
kfraser@localhost.localdomain 98c075c804 [NET] back: Advertise that we do not support rx-flip path any more.
This will now be used only by older guests who do not understand
the feature-rx-{copy,flip} feature flags.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-26 11:50:17 +01:00
awilliam@xenbuild.aw f1c6ac2751 [IA64] NUMA support
Based on patch from Tristan Gingold

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-10-25 14:48:55 -06:00
awilliam@xenbuild.aw 506aac287c merge with xen-unstable.hg 2006-10-25 12:12:01 -06:00
Ian Campbell 06b12ba822 PV-on-HVM: Add infrastructure for a compatibility shim in order to
support PV-on-HVM drivers for older kernel releases.

The compatability code is included in the xen-platform-pci module
since this module underpins all the others.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 5631980c09 [LINUX] PV-on-HVM: The elevator_init prototype changed in 2.6.10
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 20b18801a9 [LINUX] PV-on-HVM: Implement HDIO_GETGEO ioctl on kernels before
2.6.16.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 0d7bcbe60d [LINUX] PV-on-HVM: The probe, remove and shutdown methods were added
to struct bus_type in 2.6.16. For older kernels use the methods on the
struct device_driver.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 27e0aaa9a7 [LINUX] PV-on-HVM: Only initialize the owner field of struct
device_driver on kernels from 2.6.10 onward. The field was not
available until then.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 160e8134cb [LINUX] Exclude support for /proc/xen/xsd_kva when building a
non-privileged guest.

This is useful for PV-on-HVM because it removes code which would
otherwise require extra code in the compatability shim.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 3ac6239a86 [LINUX] PV-on-HVM: Remove the attr parameter from device attribute
show methods on kernels prior to 2.6.13. The parameter was not present
before that.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00