PCI config writes to succeed by default. Currently this is the only way to allow
control of a device that has device-specific registers in the config space from
a driver domain.
echo Y >/sys/module/pciback/parameters/permissive
Signed-off-by: Keir Fraser <keir@xensource.com>
Many of the changes to entry.S can be removed because we don't support
CONFIG_PREEMPT anymore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
- gdbstub.h uses atomic_t and PAGE_SIZE, so include those headers
- do not lie about setting breakpoints
- fix memory writing
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
The xen core files record a magic number,
but when they are loaded it isn't checked.
This patch resolves this.
Signed-Off-By: Horms <horms@verge.net.au>
* xc_ptrace
- Merge xc_ptrace_core into xc_ptrace
- ATTACH now reads the data argument. If non-zero then
a corefile is being debuged. Otherwise a thread has
been attached to. This allows xc_waitdomain_core() or
xc_waitdomain() to be called as appropriate in
subsequent xc_ptrace() calls.
* xc_waitdomain
- Rename xc_waitdomain (xc_ptrace.c version) __xc_waitdomain
- Rename xc_waitdomain (xc_ptrace_core.c version) xc_waitdomain_core
- Create xc_waitdomain (in xc_ptrace.c), a wrapper for __xc_waitdomain
and xc_waitdomain_core.
Consolidation seemed difficult but ctxt needs to be
passed into xc_waitdomain_core or made global.
Alternatively, xc_waitdomain_core could be moved into xc_ptrace.c,
but this seems messy.
* map_domain_va
- Rename map_domain_va (xc_ptrace_core.c version) map_domain_va_core
- Have it accept ctxt, like xc_waitdomain_core
* myptrace and myxcwait (linux-xen-low.c)
Removed, call the now generic xc_ptrace() and xc_waitdomain() instead
When calling xc_ptrace ATTACH, if a corefile is in use, a fd will
be passed, otherwise a pid. The fd part is important, as this
is saved internally in xc_ptrace_core.c, and passed to xc_waitdomain_core()
as neccessary. Pereviously xc_waitdomain_core() received a pid and
thus could not open the corefile.
Signed-Off-By: Horms <horms@verge.net.au>
General Cleanups
* Use { after if consistently in xc_ptrace.c and xc_ptrace_core.c
(But not in xc_ptrace_core() which should be removed shortly)
* Remove duplicate code and centralise around xc_ptrace.h
* Avoid ifing values covered by case in xc_ptrace()
- PTRACE_GETREGS, PTRACE_GETFPREGS and PTRACE_GETFPXREGS are grouped into
a single case, and then with the exception of a call to FETCH_REGS(),
different code is executed based on ifing the values covered by the
case. The PTRACE_GETFPREGS and PTRACE_GETFPXREGS code is actually a
duplicate. This patch breaks the code out to two different cases.
Error Handling
* Eliminate FETCH_REGS macro as it forces several functions
to have an otherwise uneeded error_out label, mittigating
any code savins.
* Rework error handling in xc_ptrace().
- Remove FETCH_REGS as above
- Make sure that all dom0 errors are caught
- Make sure errno is always set on error
* Eliminate gotos in xc_ptrace_core.c that do nothing but return
Signed-Off-By: Horms <horms@verge.net.au>
turn detail off when doing vcpu-list. This avoids calls to xenstore just to
get the list of domains for the vcpu-list call, significantly increasing
performance of that command on loaded systems.
Closes bug #545.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
at the local end of the xenbus connection (i.e. that value that is passed
through xenbus_switch_state). This means that xenbus_probe can wait for all
the boot devices to become ready without having to hurt the store.
Also, fix this probing -- previously, the wrong value was being returned by
all_devices_ready_, so this polling would only have waited for one device.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
proceed. This avoids the race (bug #549) that would result in the infamous
VFS: Cannot open root device "sda1" or unknown-block(0,0) message even when
the hotplug layer had succeeded to configure the device.
Note that The Infamous Message has many possible root causes -- this change
only fixes one of them. This particular root cause is characterised by
successful boots interleaved with unsuccessful ones, and diagnose.py showing
both front and backend drivers in the Connected state.
Closes bug #549.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
list of domains each time XendDomainInfo.refresh is called, and spawning
threads for each shutdown still in progress, we watch the control/shutdown
node and spawn just the one thread immediately. When the daemon starts (say
after a crash) all domains are checked for entries in the store indicating a
reboot in progress.
This avoids a large cost on the store and in threads when the list of domains
is refreshed. This happens every time the server is queried, so the cost can
be quite high. It's especially a high cost when using xm shutdown -a -w --
this operation should perform a lot better now.
Signed-off-by: Ewan Mellor <ewan@xensource.com>