query a domain's current and maximum memory reservation. Also,
XENMEM_maximum_ram_page now returns the max_page directly,
rather than writing through a passed-in pointer.
Also, disable PAE in the default config (accidentally checked
in two changesets ago).
Signed-off-by: Keir Fraser <keir@xensource.com>
once. This makes it possible to unit test this code. Remove the odd aliasing
of gopts to opts inside parseCommandLine.
Rename local variables globals and locals inside opts.load -- these are built-in
functions.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
using connectionMade, connectionLost, startedConnecting, clientConnectionLost,
and clientConnectionFailed was the test classes (TestClientFactory,
TestClientProtocol, TestServerFactory, TestServerProtocol), so they were
actually testing lots of code that no-one else was using. All these classes
have gone, freeing up lots of cruft around.
The useless classes Factory, ServerFactory, ClientFactory, RelocationFactory,
UnixServerConnection, and TCPServerConnection have gone, in favour of passing
the Protocol class directly to SocketListener, and using SocketServerConnection
directly.
connectTransport has gone, in favour of overriding connect directly.
Piles of closedown cruft has gone, as this was only supporting the correct
output of connectionLost events, none of which we need.
Unused SocketServerConnection.{getHost,getPeer} have gone.
Mark some parameters in relocate as unused.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
forking implied by the start method. This makes it easier to run valgrind
against Xend, or run it with a pydebug-compiled Python.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
deallocation to match those in the Python/C tutorial. This has been done to
make the interface here more conventional, in the hunt for bug #411. One
double deallocation has been fixed, but this would only occur if we failed to
create the connection to Xenstore, and so unfortunately is not the cause of
that bug.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
many places we were supporting keywords for calling the methods here, and never
using that feature (especially where all the arguments were compulsory anyway)
and in some places we were even accepting positional and keyword arguments, and
not actually taking any arguments to the method at all!
Fix the permission parsing string in xspy_set_permissions -- this would have
blown up horribly if anyone were actually calling this code.
Fix the documentation comments to include the transaction handle throughout.
Have the self parameter to all the methods be an XsHandle, not a PyObject, to
avoid casting.
Remove unused pyvalue_int and pyvalue_str.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
time (instead of at compile time). Allows a single xen.gz binary to
run under different security policy types, which simplifies
distributions considerably. To this end, we replace the current single
compile switch in Config.mk with the following two:
1. ACM_SECURITY (y/n) if "n", then the ACM is not compiled and no security
policies can be configured at boot time. If "y", then the ACM is compiled
and can be configured into any of the available policy types (null,
chwall, ste, chwall_ste) by specifying a valid boot policy .bin file in
the grub boot configuration.
2. ACM_DEFAULT_SECURITY_POLICY (null / chwall / ste / chwall_ste)
specifies the policy into which Xen defaults in the case that security is
enabled but no boot policy file is specified, or the specified policy file
is invalid (wrong version, magic, corrupted, ...)
While the type of the enabled policy (null, ste, ...) is decided once
during boot for the whole boot cycle, the policy instantiation can be
changed during operation as usual with the security tools.
Signed-off by: Tomas Lendacky <toml@us.ibm.com>
Signed-off by: Reiner Sailer <sailer@us.ibm.com>
structure because the first field is 32 bits and the next is 64 bits,
whereas x86-32 doesn't pad. The quick fix is to read the cpu id
separately as a 32bit value, then read the rest of the trace record.
Here is a little patch that does that. Tested on x86/32 SMP and x86/64.
Signed-off-by: Rob Gardner <rob.gardner@hp.com>
seriously harm Xen's health. Better to just disable it in the
tools until the outstanding issues are resolved.
Signed-off-by: Keir Fraser <keir@xensource.com>
This is the first change to the ramdisk since v0.1.0. So, we now build
the image as initrd-X.Y.img, and link initrd.img to it. This lets us
have a few checks to make sure that people rebuild their ramdisks when
necessary.
uses of goto that reduce down to return NULL in any case, breaking the common
code out for returning values based upon the success or failure of an
operation, and the common code that parses transaction and path parameters,
used by xspy_read, xspy_ls, and xspy_mkdir. Break out also the common code
that removes a watch token from the XsHandle watches list.
Use bool rather than int for result values, where this matches the same use
by tools/xenstore/xs.c.
Added missing free in xspy_get_permissions.
Use PySequence_SetItem inside xs_watch, rather than Py_INCREF followed by
PyList_SetItem. If there is no None entry in the watches list, the code goes
on to append to the list using PyList_Append, and that call takes its own
reference rather than stealing one like PyList_SetItem. This means that we
were previously leaking a reference if the list was full and so PyList_Append
was necessary.
Use PySequence_SetItem rather than Py_INCREF/PyList_SetItem also where we are
using assigning Py_None into the list, for neatness.
Remove meaningless pipe from xspy_release_domain's arg_spec.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
buffer that has grown beyond max_capacity. This fixes a Xenconsoled segfault
that was caused by stomping around above the buffer's allocated region. It
became possible to set the max_capacity with changeset 7431, and ever
since then we have been exposed to this bug. It would most easily be triggered
by running a domain without a client attached to the console, so that the
max_capacity was reached more easily.
Closes bug #380.
Signed-off-by: Ewan Mellor <ewan@xensource.com>