optional. The USB driver doesn't need this entrypoint because the state
machine driven by it is factored out of the driver code entirely into
xenidc.
Signed-off-by: Harry Butterworth butterwo@uk.ibm.com
topology_init() is called. In latest Linux kernels it
iterates over cpu_present_map rather than cpu_possible_map.
Also, save/restore should really iterate over
possible cpus, not present ones (not that it really matters,
but it's a small cleanup).
Signed-off-by: Keir Fraser <keir@xensource.com>
generic functions where appropriate. This prevents us using the
generic functions early during boot, when pte_pfn() does not work
(because max_mapnr is not initialised).
Signed-off-by: Keir Fraser <keir@xensource.com>
This will make the drivers more robust to failure of the other end, and makes
current driver state more visible. It also allows us to bring very similar
pieces of code from the drivers together into the xenbus driver. This should
be the start of a fix to the problem with block and net device hotplugging,
because the code was previously confused about the difference between the
connection state of the kernel device layer, and the state of the xenbus
communication. This confusion is addressed here.
Much of this work is influenced by Rusty Russell's skeleton driver, recently
posted to xen-devel, as that piece made suggestions as to structure and
arrangement that have been taken on board, albeit pushed down into the xenbus
layer.
A new file xenbus_client.c has been added. This file implements the interface
between the xenbus layer and the layer specific to the driver. Access to
lower layers is still allowed for those who do not need all the facilities of
the new driver.
xenbus_dev_error has moved from xenbus_xs.c into xenbus_client.c, and
xenbus_dev_ok has been removed, in favour of xenbus_switch_state.
DevController.py now closes down a device by writing a change to the Closing
state on the backend, to allow the frontend time to close down properly. Its
also writes the frontend and backend details within the same transaction.
The timeout on the hotplug scripts has been cranked down from 2 minutes to 5
seconds.
The diagnose script has been updated to parse the new states.
The blktab and tpm drivers have yet to be ported to this structure.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
was incorrect when machine address > 4GB. We believe this fixes bugzilla #267.
Also tidy up and fix show_page_walk.
Signed-off-by: Steven Hand <steven@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
get populated with objects on first allocation, so if large
caches end up being unused, they don't actually cost us
very much.
Signed-off-by: Keir Fraser <keir@xensource.com>
function defined in page.h.
For self-migration, I need the ability to trap writes to the p2m map
during migration, because I keep a dictionary mapping mfns to pfns,
which I use for remapping the page tables once I am on the other side.
Signed-off-by: Jacob Gorm Hansen <jacobg@diku.dk>
set saved eflags.IF to !saved_upcall_mask. This allows the
guest to test interrupts-enabled in the interrupted context
in the same way as when running natively.
Signed-off-by: Keir Fraser <keir@xensource.com>
stack frame and into vcpu_info_t (in shared_info_t). This
makes the guest #PF handler much more similar to native.
Signed-off-by: Keir Fraser <keir@xensource.com>
by 2.6 kernel. Now blkfront can be built as a kernel module.
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Jeremy Katz <katzj@redhat.com>
cannot allocate a contiguous multi-page extent of memory. This
should avoid unnecessary crashes in the xen-specific skbuff
cache constructor.
Signed-off-by: Keir Fraser <keir@xensource.com>