have in tree user.
If nobody is using it, I propose we remove this binding in next
release.
I don't have live example of that string. My analysis is based on
reverse-engineering of original code.
---
tools/python/xen/lowlevel/xc/xc.c | 30 ++++++++++--------------------
1 file changed, 10 insertions(+), 20 deletions(-)
diff --git a/tools/python/xen/lowlevel/xc/xc.c
b/tools/python/xen/lowlevel/xc/xc.c
index c8380d1..2c36eb2 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -592,8 +592,7 @@ static int token_value(char *token)
return strtol(token, NULL, 16);
}
-static int next_bdf(char **str, int *seg, int *bus, int *dev, int *func,
- int *flag)
+static int next_bdf(char **str, int *seg, int *bus, int *dev, int *func)
{
char *token;
@@ -608,17 +607,8 @@ static int next_bdf(char **str, int *seg, int *bus, int
*dev, int *func,
*dev = token_value(token);
token = strchr(token, ',') + 1;
*func = token_value(token);
- token = strchr(token, ',') + 1;
- if ( token ) {
- *flag = token_value(token);
- *str = token + 1;
- }
- else
- {
- /* O means we take "strict" as our default policy. */
- *flag = 0;
- *str = NULL;
- }
+ token = strchr(token, ',');
+ *str = token ? token + 1 : NULL;
return 1;
}
@@ -630,14 +620,14 @@ static PyObject *pyxc_test_assign_device(XcObject *self,
uint32_t dom;
char *pci_str;
int32_t sbdf = 0;
- int seg, bus, dev, func, flag;
+ int seg, bus, dev, func;
static char *kwd_list[] = { "domid", "pci", NULL };
if ( !PyArg_ParseTupleAndKeywords(args, kwds, "is", kwd_list,
&dom, &pci_str) )
return NULL;
- while ( next_bdf(&pci_str, &seg, &bus, &dev, &func, &flag) )
+ while ( next_bdf(&pci_str, &seg, &bus, &dev, &func) )
{
sbdf = seg << 16;
sbdf |= (bus & 0xff) << 8;
@@ -663,21 +653,21 @@ static PyObject *pyxc_assign_device(XcObject *self,
uint32_t dom;
char *pci_str;
int32_t sbdf = 0;
- int seg, bus, dev, func, flag;
+ int seg, bus, dev, func;
static char *kwd_list[] = { "domid", "pci", NULL };
if ( !PyArg_ParseTupleAndKeywords(args, kwds, "is", kwd_list,
&dom, &pci_str) )
return NULL;
- while ( next_bdf(&pci_str, &seg, &bus, &dev, &func, &flag) )
+ while ( next_bdf(&pci_str, &seg, &bus, &dev, &func) )
{
sbdf = seg << 16;
sbdf |= (bus & 0xff) << 8;
sbdf |= (dev & 0x1f) << 3;
sbdf |= (func & 0x7);
- if ( xc_assign_device(self->xc_handle, dom, sbdf, flag) != 0 )
+ if ( xc_assign_device(self->xc_handle, dom, sbdf, 0) != 0 )
{
if (errno == ENOSYS)
sbdf = -1;
@@ -696,14 +686,14 @@ static PyObject *pyxc_deassign_device(XcObject *self,
uint32_t dom;
char *pci_str;
int32_t sbdf = 0;
- int seg, bus, dev, func, flag;
+ int seg, bus, dev, func;
static char *kwd_list[] = { "domid", "pci", NULL };
if ( !PyArg_ParseTupleAndKeywords(args, kwds, "is", kwd_list,
&dom, &pci_str) )
return NULL;
- while ( next_bdf(&pci_str, &seg, &bus, &dev, &func, &flag) )
+ while ( next_bdf(&pci_str, &seg, &bus, &dev, &func) )
{
sbdf = seg << 16;
sbdf |= (bus & 0xff) << 8;