Commit Graph
164 Commits
Author SHA1 Message Date
cl349@firebug.cl.cam.ac.uk 49c9090275 merge? 2005-08-23 08:40:58 +00:00
cl349@firebug.cl.cam.ac.uk b4d1caa528 Use explicit functions with args instead of work_structs for callbacks.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-23 08:40:50 +00:00
cl349@firebug.cl.cam.ac.uk 3c047eef3c Grant table updates for block device changes.
- add gnttab_free_grant_reference
- make gnttab_free_grant_references interface consistent with other gnttab
  functions
- add support for callback when references are freed
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-22 20:52:38 +00:00
kaf24@firebug.cl.cam.ac.uk f84addf449 Apply Ross Mcilroy's balloon_dealloc_empty_page_range patch
and generally clean up the ballon driver a bunch.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-22 16:38:13 +00:00
kaf24@firebug.cl.cam.ac.uk defa5b4d1e merge. 2005-08-19 17:57:00 +00:00
kaf24@firebug.cl.cam.ac.uk 4fa9c861ef Fix x86/64 build by defining correct vcpu_pickle(). 2005-08-19 17:56:20 +00:00
cl349@firebug.cl.cam.ac.uk 2c26ae3399 merge? 2005-08-19 17:38:31 +00:00
cl349@firebug.cl.cam.ac.uk 1511aa3b38 Improve error paths and cleanup code.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-19 17:38:07 +00:00
kaf24@firebug.cl.cam.ac.uk 40326f9fc3 Simplify pagetable initialisation. Since swapper_pg_dir now
is the one allocated by the domain builder, we can be sure
it is below 4GB (essential for PAE).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-19 16:46:51 +00:00
kaf24@firebug.cl.cam.ac.uk 4e4ffc8edf Fix many uses of machine addresses in XenLinux. Primarily
this fixes users of virt_to_machine/machine_to_virt to
use virt_to_mfn/mfn_to_virt where that is more appropriate.

This should be a big step to improved PAE stability.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-19 16:06:43 +00:00
sos22@douglas.cl.cam.ac.uk df3303d149 Merge.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2005-08-19 15:47:19 +00:00
sos22@douglas.cl.cam.ac.uk b3c5293807 This time, it's fixed.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2005-08-19 15:37:37 +00:00
sos22@douglas.cl.cam.ac.uk 4ba5dde553 Merge.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2005-08-19 10:50:15 +00:00
cl349@firebug.cl.cam.ac.uk e9eaa6bafb Remove support for xenbus driver subtypes since with the subtype field there's no fallback.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-18 19:51:46 +00:00
cl349@firebug.cl.cam.ac.uk 90562ffd56 Get rid of xenbus_uuid_to_domid - get the frontend id from the node.
We don't want to parse paths we read out of the store to _construct_
other paths and tie down the store layout for no good reason.
Also require the frontend path to exist and be valid before creating
the device.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-18 19:21:09 +00:00
cl349@firebug.cl.cam.ac.uk 096a4beccf merge? 2005-08-18 18:55:13 +00:00
cl349@firebug.cl.cam.ac.uk 7f434cccbf Update probe code for backend layout.
Backend directories are of form backend/<type>/<frontend-uuid>/<id>.
This extra level makes an asymmetry with front ends (device/type/id) and
are too long to make nice bus-ids under Linux, but the code isn't too
horrible, and an OS which only wants to be a guest doesn't need to implement
it. It allows backends to calculate the front-end path directly, which
is a nice benefit.
Also: subtype matching is tightened: they must match exactly. That way a future
variant which requires a specific driver will not match current drivers.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-18 18:54:38 +00:00
sos22@douglas.cl.cam.ac.uk 1be1e1ccd3 A really nasty workaround for a race.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2005-08-18 16:28:41 +00:00
sos22@douglas.cl.cam.ac.uk fd148643e4 Actually make suspending SMP domUs work: the previous commit didn't
bring the other vcpus up correctly.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
2005-08-18 15:27:55 +00:00
kaf24@firebug.cl.cam.ac.uk 597ecd67a9 Fix range_straddles_boundary() check to exclude regions that
were allocated with xen_create_contiguous_region(). Such areas
do not require bounce buffers (swiotlb).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-18 10:41:55 +00:00
kaf24@firebug.cl.cam.ac.uk 34f71bcc7c Allocate_empty_lowmem_regions available to non-priv domains
and to modules. From Ross Mcilroy.
2005-08-17 13:33:55 +00:00
cl349@firebug.cl.cam.ac.uk f9c5a6235f Recreate watches on domain restore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-17 10:18:34 +00:00
kaf24@firebug.cl.cam.ac.uk 9c07496f46 xenbus build and license fixes. 2005-08-17 09:59:04 +00:00
kaf24@firebug.cl.cam.ac.uk f31042c4c4 Use a SWIOTLB to use pre-reserved bounce buffers for high memory
and multi-page DMA accesses. This is based on a preliminary patch
from Suresh Siddha at Intel.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
2005-08-16 11:20:47 +00:00
akw27@arcadians.cl.cam.ac.uk 235dd60ff0 Add generic_page_range() -- generic page table operation.
Linux has several instances of repeated code to do updates to a range
of PTEs.  Mapping memory between domains in Xen also tends to need to
do this quite frequently, to ensure page tables have been constructed
and to look up PTE addresses when making mapping-related hypercalls.
This patch adds a generic PTE walk-and-fill operation that takes a
function pointer to call on leaf entries.  direct_remap_area_pages()
is updated to use the new call, ass are abuses of
__direct_remap_area_pages.

This patch also introduces two new helper functions for working with
page tables when mapping memory between domains:
create_lookup_pte_addr() returns the machine address of a PTE,
allocating intermediate page tables as necessary.  touch_pte_range()
ensures that page tables exist for a virtual address range.

Many of the existing linux page table operations (e.g. zap/remap/etc)
could be modified to use this interface, which would potentially
shorten up mm/memory.c a bit.
2005-08-15 13:16:04 +00:00
vh249@arcadians.cl.cam.ac.uk d61d49705f Small change to remove difference between Xen and mainline deactivate_mm.
While there, cleanup prepare_arch_switch as well.  This generates
identical code.

Signed-off-by: Chris Wright <chrisw@osdl.org>
2005-08-15 12:26:20 +00:00
kaf24@firebug.cl.cam.ac.uk eaf684ba9d The patch attached removes pda.h and asm_offset.c by deleting unused or
unnecessary variables (that were used for old codes).

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
2005-08-15 07:51:58 +00:00
kaf24@firebug.cl.cam.ac.uk 608870b061 Fix __pte,__pmd,__pgd for PAE.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-14 18:58:25 +00:00
iap10@freefall.cl.cam.ac.uk afd8a08fb4 Fix x86_64 build.
From: Nakajima, Jun [jun.nakajima@intel.com]
2005-08-14 07:32:21 +00:00
iap10@freefall.cl.cam.ac.uk 38e8f172c3 Add "set_pte_at_sync" (integrated invlpg) in Linux i386/mm/highmem.c to improve performance for domains with >900MB of memory.
Signed-off-by: ian@xensource.com
2005-08-13 21:52:46 +00:00
iap10@freefall.cl.cam.ac.uk 8bbdb3ceb6 Optimize the Linux arch xen implementation of "set_pte_at".
Signed-off-by: ian@xensource.com
2005-08-13 21:26:49 +00:00
iap10@freefall.cl.cam.ac.uk 4595c9c24e I missed a couple of files out of the patch to wrap calls to update_va_mapping with BUG_ON(). [We really need an equivalent of 'citool' for mercurial...]
Signed-off-by: ian@xensource.com
2005-08-13 21:01:35 +00:00
iap10@freefall.cl.cam.ac.uk ab7d21ef3a Remove the BUG() from HYPERVISOR_update_va_mapping and change all the appropriate callers to wrap in BUG_ON()
Signed-off-by: ian@xensource.com
2005-08-12 16:05:37 +00:00
kaf24@firebug.cl.cam.ac.uk bc7615a229 That one is obviously needed to make pae xen-linux work with
more than 4GB.
2005-08-08 16:51:02 +00:00
kaf24@firebug.cl.cam.ac.uk 31b2ad0533 Fix x86/64 xenlinux build. Remove stupid patch.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-08 14:39:29 +00:00
kaf24@firebug.cl.cam.ac.uk 9174fdfbfc Fix hw_resend_irq() -- IRQ_PENDING must be propagated back
to evtchn_pending[] bit during irq_enable, or the delayed
callback may never happen.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-08 09:12:22 +00:00
kaf24@firebug.cl.cam.ac.uk aba8322b54 Attached is a patch to x86_64 xenlinux. It also includes cleanups. We
are also working on SMP + writable pagetable support now.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
2005-08-08 08:18:38 +00:00
kaf24@firebug.cl.cam.ac.uk 97ef1d5297 this patch fixes X86_64 Xorg Xfree86 issues.
Signed-off-by: Xin Li <xin.b.li@intel.com>
2005-08-07 08:56:57 +00:00
kaf24@firebug.cl.cam.ac.uk 52c8195eb2 This patch changes the probe notifier, per Rusty's suggestion. It
also converts the balloon driver to use the notifier structure, and
removes the root-watch workaround.

Signed-off-by: Dan Smith <danms@us.ibm.com>
2005-08-06 09:49:22 +00:00
kaf24@firebug.cl.cam.ac.uk fe0b8e6e6e The attached patch:
1. Converts the shutdown driver and xend to use the store instead of
   control messages, 

2. Includes Anthony's xenstore notification code, and

3. Changes xend so that sysrq's are no longer sent as "special case"
   shutdown messages.  Store keys are cheap, so making the sysrq
   delivery less obscure is good.

I think I have made all of the appropriate modifications to Xend, but
it is complex, so I may have missed something.  Comments are welcome.

Signed-off-by: Dan Smith <danms@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2005-08-05 08:59:41 +00:00
kaf24@firebug.cl.cam.ac.uk 2ca1179da8 Virtual device drivers use new bind_evtchn_to_irqhandler() call
instead of directly interfacing with Linux IRQ subsystem. This
allows them to be used in situations where the IRQ subsystem is
not paravirtualised.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-03 12:51:35 +00:00
kaf24@firebug.cl.cam.ac.uk 7894bb2a4a Fix typo in Linux header file. Totally harmless -- the code
was never actually compiled in to a XenLinux kernel.
2005-08-03 09:05:46 +00:00
cl349@firebug.cl.cam.ac.uk 43d67dd5b9 Add prototype for bind_ipi_on_cpu_to_irq.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-02 19:05:00 +00:00
cl349@firebug.cl.cam.ac.uk 872149a29c Add prototype for balloon_init_watcher.
Also cleanup balloon_init_watcher whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-02 19:04:13 +00:00
cl349@firebug.cl.cam.ac.uk 59f1e250c2 Fix checkpointing - add save/restore support to the xenbus driver.
- Add xenbus driver suspend/resume functions
- Change xenbus irq to not be shared
- Translate store mfn in suspend record to pfn and back
- Make tools re-introduce the domain to the store
Signed-off-by: Rusty Russel <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-02 17:12:36 +00:00
smh22@firebug.cl.cam.ac.uk 7b63edab8e Minor clean ups of time.c and partial build fixes for 2.4 2005-08-01 10:45:07 +00:00
kaf24@firebug.cl.cam.ac.uk 654ee452ae ... so it builds again and also add a note to the xen elf header
that this kernel should be booted in shadow-translated mode.
2005-07-29 10:24:06 +00:00
kaf24@firebug.cl.cam.ac.uk c71983a0a5 fix x86_64 domain0 /dev/mem issue
x86_64 miss the define of ARCH_HAS_DEV_MEM, that causes
/drivers/char/mem.c to not show low 1M memory correctly.

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
2005-07-29 10:22:03 +00:00
cl349@firebug.cl.cam.ac.uk 7808c397e3 Clean up xenbus code not to use priorities.
Signed-off-by: Rusty Russel <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-07-26 17:38:33 +00:00
cl349@firebug.cl.cam.ac.uk d151513350 Implement xenbus_dev_error() and xenbus_dev_ok() functions
for better error reporting using the store.
Signed-off-by: Rusty Russel <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-07-26 17:25:57 +00:00