FreeBSD kernel amd64 PCI device code
|
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/ctype.h>
#include <sys/kernel.h>
#include <sys/systm.h>
#include <sys/iov.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/queue.h>
#include <machine/stdarg.h>
#include <sys/dnv.h>
#include <sys/nv.h>
#include <sys/iov_schema.h>
#include <net/ethernet.h>
#include <dev/pci/schema_private.h>
Go to the source code of this file.
Data Structures | |
struct | config_type_validator |
Typedefs | |
typedef int() | validate_func(const struct config_type_validator *, const nvlist_t *, const char *name) |
typedef int() | default_validate_t(const struct config_type_validator *, const nvlist_t *) |
Functions | |
__FBSDID ("$FreeBSD$") | |
static const struct config_type_validator * | pci_iov_schema_find_validator (const char *type) |
static void | pci_iov_schema_add_type (nvlist_t *entry, const char *type) |
static void | pci_iov_schema_add_required (nvlist_t *entry, uint32_t flags) |
void | pci_iov_schema_add_bool (nvlist_t *schema, const char *name, uint32_t flags, int defaultVal) |
void | pci_iov_schema_add_string (nvlist_t *schema, const char *name, uint32_t flags, const char *defaultVal) |
static void | pci_iov_schema_int (nvlist_t *schema, const char *name, const char *type, uint32_t flags, uint64_t defaultVal) |
void | pci_iov_schema_add_uint8 (nvlist_t *schema, const char *name, uint32_t flags, uint8_t defaultVal) |
void | pci_iov_schema_add_uint16 (nvlist_t *schema, const char *name, uint32_t flags, uint16_t defaultVal) |
void | pci_iov_schema_add_uint32 (nvlist_t *schema, const char *name, uint32_t flags, uint32_t defaultVal) |
void | pci_iov_schema_add_uint64 (nvlist_t *schema, const char *name, uint32_t flags, uint64_t defaultVal) |
void | pci_iov_schema_add_unicast_mac (nvlist_t *schema, const char *name, uint32_t flags, const uint8_t *defaultVal) |
static int | pci_iov_schema_validate_bool (const struct config_type_validator *validator, const nvlist_t *config, const char *name) |
static int | pci_iov_schema_validate_string (const struct config_type_validator *validator, const nvlist_t *config, const char *name) |
static int | pci_iov_schema_validate_uint (const struct config_type_validator *validator, const nvlist_t *config, const char *name) |
static int | pci_iov_schema_validate_unicast_mac (const struct config_type_validator *validator, const nvlist_t *config, const char *name) |
static void | pci_iov_config_add_default (const nvlist_t *param_schema, const char *name, nvlist_t *config) |
static int | pci_iov_validate_bool_default (const struct config_type_validator *validator, const nvlist_t *param) |
static int | pci_iov_validate_string_default (const struct config_type_validator *validator, const nvlist_t *param) |
static int | pci_iov_validate_uint_default (const struct config_type_validator *validator, const nvlist_t *param) |
static int | pci_iov_validate_unicast_mac_default (const struct config_type_validator *validator, const nvlist_t *param) |
static int | pci_iov_validate_param_schema (const nvlist_t *schema) |
static int | pci_iov_validate_subsystem_schema (const nvlist_t *dev_schema, const char *name) |
static int | pci_iov_validate_param_collisions (const nvlist_t *dev_schema) |
static int | pci_iov_validate_schema_subsystems (const nvlist_t *dev_schema) |
static int | pci_iov_validate_device_schema (const nvlist_t *schema, const char *name) |
static int | pci_iov_validate_schema_devices (const nvlist_t *dev_schema) |
int | pci_iov_validate_schema (const nvlist_t *schema) |
static int | pci_iov_schema_validate_required (const nvlist_t *schema, nvlist_t *config) |
static int | pci_iov_schema_validate_param (const nvlist_t *schema_param, const char *name, const nvlist_t *config) |
static int | pci_iov_schema_validate_types (const nvlist_t *schema, const nvlist_t *config) |
static int | pci_iov_schema_validate_device (const nvlist_t *schema, nvlist_t *config, const char *schema_device, const char *config_device) |
static int | pci_iov_schema_validate_vfs (const nvlist_t *schema, nvlist_t *config, uint16_t num_vfs) |
static int | pci_iov_schema_validate_device_subsystems (const nvlist_t *config) |
static int | pci_iov_schema_validate_dev_name (const char *name, uint16_t num_vfs) |
static int | pci_iov_schema_validate_device_names (const nvlist_t *config, uint16_t num_vfs) |
int | pci_iov_schema_validate_config (const nvlist_t *schema, nvlist_t *config) |
uint16_t | pci_iov_config_get_num_vfs (const nvlist_t *config) |
nvlist_t * | pci_iov_schema_alloc_node (void) |
typedef int() default_validate_t(const struct config_type_validator *, const nvlist_t *) |
Definition at line 53 of file pci_iov_schema.c.
typedef int() validate_func(const struct config_type_validator *, const nvlist_t *, const char *name) |
Definition at line 51 of file pci_iov_schema.c.
__FBSDID | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 327 of file pci_iov_schema.c.
Referenced by pci_iov_schema_validate_required().
uint16_t pci_iov_config_get_num_vfs | ( | const nvlist_t * | config | ) |
Definition at line 854 of file pci_iov_schema.c.
Referenced by pci_iov_config(), and pci_iov_schema_validate_config().
void pci_iov_schema_add_bool | ( | nvlist_t * | schema, |
const char * | name, | ||
uint32_t | flags, | ||
int | defaultVal | ||
) |
Definition at line 156 of file pci_iov_schema.c.
References name, pci_iov_schema_add_required(), and pci_iov_schema_add_type().
Referenced by pci_iov_get_vf_subsystem_schema().
|
static |
Definition at line 142 of file pci_iov_schema.c.
Referenced by pci_iov_schema_add_bool(), pci_iov_schema_add_string(), pci_iov_schema_add_unicast_mac(), and pci_iov_schema_int().
void pci_iov_schema_add_string | ( | nvlist_t * | schema, |
const char * | name, | ||
uint32_t | flags, | ||
const char * | defaultVal | ||
) |
Definition at line 176 of file pci_iov_schema.c.
References name, pci_iov_schema_add_required(), and pci_iov_schema_add_type().
Referenced by pci_iov_get_pf_subsystem_schema().
|
static |
Definition at line 131 of file pci_iov_schema.c.
References pci_iov_schema_find_validator(), and type.
Referenced by pci_iov_schema_add_bool(), pci_iov_schema_add_string(), pci_iov_schema_add_unicast_mac(), and pci_iov_schema_int().
void pci_iov_schema_add_uint16 | ( | nvlist_t * | schema, |
const char * | name, | ||
uint32_t | flags, | ||
uint16_t | defaultVal | ||
) |
Definition at line 224 of file pci_iov_schema.c.
References name, and pci_iov_schema_int().
Referenced by pci_iov_get_pf_subsystem_schema().
void pci_iov_schema_add_uint32 | ( | nvlist_t * | schema, |
const char * | name, | ||
uint32_t | flags, | ||
uint32_t | defaultVal | ||
) |
Definition at line 232 of file pci_iov_schema.c.
References name, and pci_iov_schema_int().
void pci_iov_schema_add_uint64 | ( | nvlist_t * | schema, |
const char * | name, | ||
uint32_t | flags, | ||
uint64_t | defaultVal | ||
) |
Definition at line 240 of file pci_iov_schema.c.
References name, and pci_iov_schema_int().
void pci_iov_schema_add_uint8 | ( | nvlist_t * | schema, |
const char * | name, | ||
uint32_t | flags, | ||
uint8_t | defaultVal | ||
) |
Definition at line 216 of file pci_iov_schema.c.
References name, and pci_iov_schema_int().
void pci_iov_schema_add_unicast_mac | ( | nvlist_t * | schema, |
const char * | name, | ||
uint32_t | flags, | ||
const uint8_t * | defaultVal | ||
) |
Definition at line 248 of file pci_iov_schema.c.
References name, pci_iov_schema_add_required(), and pci_iov_schema_add_type().
nvlist_t * pci_iov_schema_alloc_node | ( | void | ) |
Definition at line 865 of file pci_iov_schema.c.
Referenced by pci_iov_build_pf_schema(), pci_iov_build_schema(), pci_iov_build_vf_schema(), pci_iov_get_pf_subsystem_schema(), and pci_iov_get_vf_subsystem_schema().
|
static |
Definition at line 116 of file pci_iov_schema.c.
References pci_iov_schema_validators, type, and config_type_validator::type_name.
Referenced by pci_iov_schema_add_type(), pci_iov_schema_validate_param(), and pci_iov_validate_param_schema().
|
static |
Definition at line 196 of file pci_iov_schema.c.
References name, pci_iov_schema_add_required(), pci_iov_schema_add_type(), and type.
Referenced by pci_iov_schema_add_uint16(), pci_iov_schema_add_uint32(), pci_iov_schema_add_uint64(), and pci_iov_schema_add_uint8().
|
static |
Definition at line 268 of file pci_iov_schema.c.
int pci_iov_schema_validate_config | ( | const nvlist_t * | schema, |
nvlist_t * | config | ||
) |
Definition at line 830 of file pci_iov_schema.c.
References config, num_vfs, pci_iov_config_get_num_vfs(), pci_iov_schema_validate_device(), pci_iov_schema_validate_device_names(), and pci_iov_schema_validate_vfs().
Referenced by pci_iov_parse_config().
|
static |
Definition at line 755 of file pci_iov_schema.c.
Referenced by pci_iov_schema_validate_device_names().
|
static |
Definition at line 649 of file pci_iov_schema.c.
References config, pci_iov_schema_validate_required(), and pci_iov_schema_validate_types().
Referenced by pci_iov_schema_validate_config(), and pci_iov_schema_validate_vfs().
|
static |
Definition at line 802 of file pci_iov_schema.c.
References config, name, num_vfs, pci_iov_schema_validate_dev_name(), pci_iov_schema_validate_device_subsystems(), and type.
Referenced by pci_iov_schema_validate_config().
|
static |
Definition at line 731 of file pci_iov_schema.c.
References config, name, and type.
Referenced by pci_iov_schema_validate_device_names().
|
static |
Definition at line 604 of file pci_iov_schema.c.
References config, name, pci_iov_schema_find_validator(), type, and config_type_validator::validate.
Referenced by pci_iov_schema_validate_types().
|
static |
Definition at line 579 of file pci_iov_schema.c.
References config, name, pci_iov_config_add_default(), and type.
Referenced by pci_iov_schema_validate_device().
|
static |
Definition at line 278 of file pci_iov_schema.c.
|
static |
Definition at line 624 of file pci_iov_schema.c.
References config, name, pci_iov_schema_validate_param(), and type.
Referenced by pci_iov_schema_validate_device().
|
static |
Definition at line 288 of file pci_iov_schema.c.
References config, config_type_validator::limit, name, and value.
|
static |
Definition at line 305 of file pci_iov_schema.c.
|
static |
Definition at line 709 of file pci_iov_schema.c.
References config, num_vfs, and pci_iov_schema_validate_device().
Referenced by pci_iov_schema_validate_config().
|
static |
Definition at line 353 of file pci_iov_schema.c.
|
static |
Definition at line 514 of file pci_iov_schema.c.
References name, pci_iov_validate_param_collisions(), pci_iov_validate_schema_subsystems(), and pci_iov_validate_subsystem_schema().
Referenced by pci_iov_validate_schema().
|
static |
Definition at line 473 of file pci_iov_schema.c.
Referenced by pci_iov_validate_device_schema().
|
static |
Definition at line 407 of file pci_iov_schema.c.
References config_type_validator::default_validate, pci_iov_schema_find_validator(), and type.
Referenced by pci_iov_validate_subsystem_schema().
int pci_iov_validate_schema | ( | const nvlist_t * | schema | ) |
Definition at line 558 of file pci_iov_schema.c.
References pci_iov_validate_device_schema(), and pci_iov_validate_schema_devices().
Referenced by pci_iov_attach_method().
|
static |
Definition at line 541 of file pci_iov_schema.c.
Referenced by pci_iov_validate_schema().
|
static |
Definition at line 497 of file pci_iov_schema.c.
Referenced by pci_iov_validate_device_schema().
|
static |
Definition at line 363 of file pci_iov_schema.c.
|
static |
Definition at line 443 of file pci_iov_schema.c.
References name, pci_iov_validate_param_schema(), and type.
Referenced by pci_iov_validate_device_schema().
|
static |
Definition at line 373 of file pci_iov_schema.c.
References config_type_validator::limit.
|
static |
Definition at line 388 of file pci_iov_schema.c.
|
static |
Definition at line 56 of file pci_iov_schema.c.
|
static |
Definition at line 57 of file pci_iov_schema.c.
|
static |
Definition at line 58 of file pci_iov_schema.c.
|
static |
Definition at line 59 of file pci_iov_schema.c.
|
static |
Definition at line 73 of file pci_iov_schema.c.
Referenced by pci_iov_schema_find_validator().
|
static |
Definition at line 61 of file pci_iov_schema.c.
|
static |
Definition at line 62 of file pci_iov_schema.c.
|
static |
Definition at line 63 of file pci_iov_schema.c.
|
static |
Definition at line 64 of file pci_iov_schema.c.