zdev: Introduce the ap device type

The AP device type initially allows only the setting of type
attributes 'apmask' and 'aqmask'.

Reviewed-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Matthew Rosato
2021-09-15 11:52:08 -04:00
committed by Jan Höppner
parent 2da206f5a6
commit 773d01e674
8 changed files with 1194 additions and 2 deletions

40
zdev/include/ap.h Normal file
View File

@@ -0,0 +1,40 @@
/*
* zdev - Modify and display the persistent configuration of devices
*
* Copyright IBM Corp. 2022
*
* s390-tools is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#ifndef AP_H
#define AP_H
#include "lib/util_list.h"
#define AP_MOD_NAME "ap"
#define AP_NAME "ap"
#define VFIO_AP_MOD_NAME "vfio_ap"
struct devtype;
struct subtype;
struct namespace;
extern struct devtype ap_devtype;
extern struct subtype ap_subtype;
extern struct namespace ap_namespace;
struct ap_node {
struct util_list_node node;
unsigned int id;
};
struct mdev_cb_data {
struct util_list *adapters;
struct util_list *domains;
bool typeap;
bool autoconf;
bool found_conflict;
};
#endif /* AP_H */

View File

@@ -36,7 +36,7 @@ struct namespace;
struct subtype;
/* NULL-terminated list of namespaces. */
#define NUM_NAMESPACES 5
#define NUM_NAMESPACES 6
extern struct namespace *namespaces[NUM_NAMESPACES + 1];
/* struct namespace - Definition of a device ID namespace

View File

@@ -64,6 +64,7 @@ char *path_get_sys_bus_drv(const char *, const char *);
char *path_get_zfcp_lun_dev(struct zfcp_lun_devid *);
char *path_get_zfcp_port_dev(struct zfcp_lun_devid *);
char *path_get_scsi_hctl_dev(const char *);
char *path_get_bus_attr(const char *, const char *);
exit_code_t path_for_each(const char *,
exit_code_t (*callback)(const char *, const char *,