diff options
Diffstat (limited to 'scripts/mod/file2alias.c')
| -rw-r--r-- | scripts/mod/file2alias.c | 17 | 
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 28da34ba4359..38120f932b0d 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -1458,8 +1458,23 @@ static int do_cdx_entry(const char *filename, void *symval,  {  	DEF_FIELD(symval, cdx_device_id, vendor);  	DEF_FIELD(symval, cdx_device_id, device); +	DEF_FIELD(symval, cdx_device_id, override_only); -	sprintf(alias, "cdx:v%08Xd%08Xd", vendor, device); +	switch (override_only) { +	case 0: +		strcpy(alias, "cdx:"); +		break; +	case CDX_ID_F_VFIO_DRIVER_OVERRIDE: +		strcpy(alias, "vfio_cdx:"); +		break; +	default: +		warn("Unknown CDX driver_override alias %08X\n", +		     override_only); +		return 0; +	} + +	ADD(alias, "v", vendor != CDX_ANY_ID, vendor); +	ADD(alias, "d", device != CDX_ANY_ID, device);  	return 1;  }  | 
