bus/vmbus: add devargs support
Take device arguments from command line and put them in the device devargs. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
This commit is contained in:
parent
323e7b667f
commit
cf2b90756c
@ -276,6 +276,8 @@ vmbus_scan_one(const char *name)
|
||||
dev->device.numa_node = SOCKET_ID_ANY;
|
||||
}
|
||||
|
||||
dev->device.devargs = vmbus_devargs_lookup(dev);
|
||||
|
||||
/* device is valid, add in list (sorted) */
|
||||
VMBUS_LOG(DEBUG, "Adding vmbus device %s", name);
|
||||
|
||||
|
@ -66,6 +66,9 @@ struct vmbus_channel {
|
||||
|
||||
#define VMBUS_MAX_CHANNELS 64
|
||||
|
||||
struct rte_devargs *
|
||||
vmbus_devargs_lookup(struct rte_vmbus_device *dev);
|
||||
|
||||
int vmbus_chan_create(const struct rte_vmbus_device *device,
|
||||
uint16_t relid, uint16_t subid, uint8_t monitor_id,
|
||||
struct vmbus_channel **new_chan);
|
||||
|
@ -85,7 +85,6 @@ vmbus_match(const struct rte_vmbus_driver *dr,
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* If device ID match, call the devinit() function of the driver.
|
||||
*/
|
||||
@ -204,6 +203,27 @@ vmbus_parse(const char *name, void *addr)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* scan for matching device args on command line
|
||||
* example:
|
||||
* -w 'vmbus:635a7ae3-091e-4410-ad59-667c4f8c04c3,latency=20'
|
||||
*/
|
||||
struct rte_devargs *
|
||||
vmbus_devargs_lookup(struct rte_vmbus_device *dev)
|
||||
{
|
||||
struct rte_devargs *devargs;
|
||||
rte_uuid_t addr;
|
||||
|
||||
RTE_EAL_DEVARGS_FOREACH("vmbus", devargs) {
|
||||
vmbus_parse(devargs->name, &addr);
|
||||
|
||||
if (rte_uuid_compare(dev->device_id, addr) == 0)
|
||||
return devargs;
|
||||
}
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
/* register vmbus driver */
|
||||
void
|
||||
rte_vmbus_register(struct rte_vmbus_driver *driver)
|
||||
|
Loading…
Reference in New Issue
Block a user