cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

g_zero.h (1677B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * This header declares the utility functions used by "Gadget Zero", plus
      4 * interfaces to its two single-configuration function drivers.
      5 */
      6
      7#ifndef __G_ZERO_H
      8#define __G_ZERO_H
      9
     10#define GZERO_BULK_BUFLEN	4096
     11#define GZERO_QLEN		32
     12#define GZERO_ISOC_INTERVAL	4
     13#define GZERO_ISOC_MAXPACKET	1024
     14#define GZERO_SS_BULK_QLEN	1
     15#define GZERO_SS_ISO_QLEN	8
     16
     17struct usb_zero_options {
     18	unsigned pattern;
     19	unsigned isoc_interval;
     20	unsigned isoc_maxpacket;
     21	unsigned isoc_mult;
     22	unsigned isoc_maxburst;
     23	unsigned bulk_buflen;
     24	unsigned qlen;
     25	unsigned ss_bulk_qlen;
     26	unsigned ss_iso_qlen;
     27};
     28
     29struct f_ss_opts {
     30	struct usb_function_instance func_inst;
     31	unsigned pattern;
     32	unsigned isoc_interval;
     33	unsigned isoc_maxpacket;
     34	unsigned isoc_mult;
     35	unsigned isoc_maxburst;
     36	unsigned bulk_buflen;
     37	unsigned bulk_qlen;
     38	unsigned iso_qlen;
     39
     40	/*
     41	 * Read/write access to configfs attributes is handled by configfs.
     42	 *
     43	 * This is to protect the data from concurrent access by read/write
     44	 * and create symlink/remove symlink.
     45	 */
     46	struct mutex			lock;
     47	int				refcnt;
     48};
     49
     50struct f_lb_opts {
     51	struct usb_function_instance func_inst;
     52	unsigned bulk_buflen;
     53	unsigned qlen;
     54
     55	/*
     56	 * Read/write access to configfs attributes is handled by configfs.
     57	 *
     58	 * This is to protect the data from concurrent access by read/write
     59	 * and create symlink/remove symlink.
     60	 */
     61	struct mutex			lock;
     62	int				refcnt;
     63};
     64
     65void lb_modexit(void);
     66int lb_modinit(void);
     67
     68/* common utilities */
     69void disable_endpoints(struct usb_composite_dev *cdev,
     70		struct usb_ep *in, struct usb_ep *out,
     71		struct usb_ep *iso_in, struct usb_ep *iso_out);
     72
     73#endif /* __G_ZERO_H */