Mostly for historical reasons Xen includes Python bindings for libxc. They have been used by xm/xend in the past but nowadays there is no user of any cpuid related python binding left. Remove them.
Signed-off-by: Juergen Gross <jgr...@suse.com> --- tools/python/xen/lowlevel/xc/xc.c | 128 -------------------------------------- 1 file changed, 128 deletions(-) diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c index 9d82579..7809fc6 100644 --- a/tools/python/xen/lowlevel/xc/xc.c +++ b/tools/python/xen/lowlevel/xc/xc.c @@ -658,105 +658,6 @@ static PyObject *pyxc_get_device_group(XcObject *self, } #if defined(__i386__) || defined(__x86_64__) -static void pyxc_dom_extract_cpuid(PyObject *config, - char **regs) -{ - const char *regs_extract[4] = { "eax", "ebx", "ecx", "edx" }; - PyObject *obj; - int i; - - memset(regs, 0, 4*sizeof(*regs)); - - if ( !PyDict_Check(config) ) - return; - - for ( i = 0; i < 4; i++ ) - if ( (obj = PyDict_GetItemString(config, regs_extract[i])) != NULL ) - regs[i] = PyString_AS_STRING(obj); -} - -static PyObject *pyxc_create_cpuid_dict(char **regs) -{ - const char *regs_extract[4] = { "eax", "ebx", "ecx", "edx" }; - PyObject *dict; - int i; - - dict = PyDict_New(); - for ( i = 0; i < 4; i++ ) - { - if ( regs[i] == NULL ) - continue; - PyDict_SetItemString(dict, regs_extract[i], - PyString_FromString(regs[i])); - free(regs[i]); - regs[i] = NULL; - } - return dict; -} - -static PyObject *pyxc_dom_check_cpuid(XcObject *self, - PyObject *args) -{ - PyObject *sub_input, *config; - unsigned int input[2]; - char *regs[4], *regs_transform[4]; - - if ( !PyArg_ParseTuple(args, "iOO", &input[0], &sub_input, &config) ) - return NULL; - - pyxc_dom_extract_cpuid(config, regs); - - input[1] = XEN_CPUID_INPUT_UNUSED; - if ( PyLong_Check(sub_input) ) - input[1] = PyLong_AsUnsignedLong(sub_input); - - if ( xc_cpuid_check(self->xc_handle, input, - (const char **)regs, regs_transform) ) - return pyxc_error_to_exception(self->xc_handle); - - return pyxc_create_cpuid_dict(regs_transform); -} - -static PyObject *pyxc_dom_set_policy_cpuid(XcObject *self, - PyObject *args) -{ - int domid; - - if ( !PyArg_ParseTuple(args, "i", &domid) ) - return NULL; - - if ( xc_cpuid_apply_policy(self->xc_handle, domid) ) - return pyxc_error_to_exception(self->xc_handle); - - Py_INCREF(zero); - return zero; -} - - -static PyObject *pyxc_dom_set_cpuid(XcObject *self, - PyObject *args) -{ - PyObject *sub_input, *config; - unsigned int domid, input[2]; - char *regs[4], *regs_transform[4]; - - if ( !PyArg_ParseTuple(args, "IIOO", &domid, - &input[0], &sub_input, &config) ) - return NULL; - - pyxc_dom_extract_cpuid(config, regs); - - input[1] = XEN_CPUID_INPUT_UNUSED; - if ( PyLong_Check(sub_input) ) - input[1] = PyLong_AsUnsignedLong(sub_input); - - if ( xc_cpuid_set(self->xc_handle, domid, input, (const char **)regs, - regs_transform) ) - return pyxc_error_to_exception(self->xc_handle); - - return pyxc_create_cpuid_dict(regs_transform); -} - static PyObject *pyxc_dom_set_machine_address_size(XcObject *self, PyObject *args, PyObject *kwds) @@ -2103,35 +2004,6 @@ static PyMethodDef pyxc_methods[] = { " keys [str]: String of keys to inject.\n" }, #if defined(__i386__) || defined(__x86_64__) - { "domain_check_cpuid", - (PyCFunction)pyxc_dom_check_cpuid, - METH_VARARGS, "\n" - "Apply checks to host CPUID.\n" - " input [long]: Input for cpuid instruction (eax)\n" - " sub_input [long]: Second input (optional, may be None) for cpuid " - " instruction (ecx)\n" - " config [dict]: Dictionary of register\n" - " config [dict]: Dictionary of register, use for checking\n\n" - "Returns: [int] 0 on success; exception on error.\n" }, - - { "domain_set_cpuid", - (PyCFunction)pyxc_dom_set_cpuid, - METH_VARARGS, "\n" - "Set cpuid response for an input and a domain.\n" - " dom [int]: Identifier of domain.\n" - " input [long]: Input for cpuid instruction (eax)\n" - " sub_input [long]: Second input (optional, may be None) for cpuid " - " instruction (ecx)\n" - " config [dict]: Dictionary of register\n\n" - "Returns: [int] 0 on success; exception on error.\n" }, - - { "domain_set_policy_cpuid", - (PyCFunction)pyxc_dom_set_policy_cpuid, - METH_VARARGS, "\n" - "Set the default cpuid policy for a domain.\n" - " dom [int]: Identifier of domain.\n\n" - "Returns: [int] 0 on success; exception on error.\n" }, - { "domain_set_machine_address_size", (PyCFunction)pyxc_dom_set_machine_address_size, METH_VARARGS, "\n" -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel