- 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>
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>
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>
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>
were allocated with xen_create_contiguous_region(). Such areas
do not require bounce buffers (swiotlb).
Signed-off-by: Keir Fraser <keir@xensource.com>
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>
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.
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>
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>
- 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>
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>