/** * Large random numbers are pulled in 4096 byte chunks from the crypto cards * and stored in a page. Be careful when increasing this buffer due to size * limitations for AP requests.
*/ #define ZCRYPT_RNG_BUFFER_SIZE 4096
/** * The zcrypt_wait_api_operational() function waits this * amount in milliseconds for ap_wait_aqpn_bindings_complete(). * Also on a cprb send failure with ENODEV the send functions * trigger an ap bus rescan and wait this time in milliseconds * for ap_wait_aqpn_bindings_complete() before resending.
*/ #define ZCRYPT_WAIT_BINDINGS_COMPLETE_MS 30000
/* struct to hold tracking information for a userspace request/response */ struct zcrypt_track { int again_counter; /* retry attempts counter */ int last_qid; /* last qid used */ int last_rc; /* last return code */
};
/* defines related to message tracking */ #define TRACK_AGAIN_MAX 10 #define TRACK_AGAIN_CARD_WEIGHT_PENALTY 1000 #define TRACK_AGAIN_QUEUE_WEIGHT_PENALTY 10000
/* * xflags - to be used with zcrypt_send_cprb() and * zcrypt_send_ep11_cprb() for the xflags parameter.
*/ #define ZCRYPT_XFLAG_USERSPACE 0x0001 /* data ptrs address userspace */ #define ZCRYPT_XFLAG_NOMEMALLOC 0x0002 /* do not allocate memory via kmalloc */
struct zcrypt_card { struct list_head list; /* Device list. */ struct list_head zqueues; /* List of zcrypt queues */ struct kref refcount; /* device refcounting */ struct ap_card *card; /* The "real" ap card device. */ int online; /* User online/offline */
int user_space_type; /* User space device id. */ char *type_string; /* User space device name. */ int min_mod_size; /* Min number of bits. */ int max_mod_size; /* Max number of bits. */ int max_exp_bit_length; constint *speed_rating; /* Speed idx of crypto ops. */
atomic_t load; /* Utilization of the crypto device */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.