2 * This file is produced automatically.
3 * Do not modify anything in here by hand.
5 * Created from source file
6 * @/dev/virtio/virtio_bus_if.m
10 * See the source file for legal information
13 #ifndef _virtio_bus_if_h_
14 #define _virtio_bus_if_h_
19 extern struct kobjop_desc virtio_bus_negotiate_features_desc;
20 typedef uint64_t virtio_bus_negotiate_features_t(device_t dev,
21 uint64_t child_features);
22 static __inline uint64_t VIRTIO_BUS_NEGOTIATE_FEATURES(device_t dev,
23 uint64_t child_features)
26 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_negotiate_features);
27 return ((virtio_bus_negotiate_features_t *) _m)(dev, child_features);
30 extern struct kobjop_desc virtio_bus_with_feature_desc;
31 typedef int virtio_bus_with_feature_t(device_t dev, uint64_t feature);
32 static __inline int VIRTIO_BUS_WITH_FEATURE(device_t dev, uint64_t feature)
35 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_with_feature);
36 return ((virtio_bus_with_feature_t *) _m)(dev, feature);
39 extern struct kobjop_desc virtio_bus_alloc_virtqueues_desc;
40 typedef int virtio_bus_alloc_virtqueues_t(device_t dev, int flags, int nvqs,
41 struct vq_alloc_info *info);
42 static __inline int VIRTIO_BUS_ALLOC_VIRTQUEUES(device_t dev, int flags,
44 struct vq_alloc_info *info)
47 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_alloc_virtqueues);
48 return ((virtio_bus_alloc_virtqueues_t *) _m)(dev, flags, nvqs, info);
52 #define VIRTIO_ALLOC_VQS_DISABLE_MSIX 0x1
54 extern struct kobjop_desc virtio_bus_setup_intr_desc;
55 typedef int virtio_bus_setup_intr_t(device_t dev);
56 static __inline int VIRTIO_BUS_SETUP_INTR(device_t dev)
59 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_setup_intr);
60 return ((virtio_bus_setup_intr_t *) _m)(dev);
63 extern struct kobjop_desc virtio_bus_stop_desc;
64 typedef void virtio_bus_stop_t(device_t dev);
65 static __inline void VIRTIO_BUS_STOP(device_t dev)
68 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_stop);
69 ((virtio_bus_stop_t *) _m)(dev);
72 extern struct kobjop_desc virtio_bus_reinit_desc;
73 typedef int virtio_bus_reinit_t(device_t dev, uint64_t features);
74 static __inline int VIRTIO_BUS_REINIT(device_t dev, uint64_t features)
77 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_reinit);
78 return ((virtio_bus_reinit_t *) _m)(dev, features);
81 extern struct kobjop_desc virtio_bus_reinit_complete_desc;
82 typedef void virtio_bus_reinit_complete_t(device_t dev);
83 static __inline void VIRTIO_BUS_REINIT_COMPLETE(device_t dev)
86 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_reinit_complete);
87 ((virtio_bus_reinit_complete_t *) _m)(dev);
90 extern struct kobjop_desc virtio_bus_notify_vq_desc;
91 typedef void virtio_bus_notify_vq_t(device_t dev, uint16_t queue);
92 static __inline void VIRTIO_BUS_NOTIFY_VQ(device_t dev, uint16_t queue)
95 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_notify_vq);
96 ((virtio_bus_notify_vq_t *) _m)(dev, queue);
99 extern struct kobjop_desc virtio_bus_read_device_config_desc;
100 typedef void virtio_bus_read_device_config_t(device_t dev, bus_size_t offset,
102 static __inline void VIRTIO_BUS_READ_DEVICE_CONFIG(device_t dev,
103 bus_size_t offset, void *dst,
107 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_read_device_config);
108 ((virtio_bus_read_device_config_t *) _m)(dev, offset, dst, len);
111 extern struct kobjop_desc virtio_bus_write_device_config_desc;
112 typedef void virtio_bus_write_device_config_t(device_t dev, bus_size_t offset,
114 static __inline void VIRTIO_BUS_WRITE_DEVICE_CONFIG(device_t dev,
119 KOBJOPLOOKUP(((kobj_t)dev)->ops, virtio_bus_write_device_config);
120 ((virtio_bus_write_device_config_t *) _m)(dev, offset, src, len);
123 #endif /* _virtio_bus_if_h_ */