L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
vbus.h
Go to the documentation of this file.
1/*
2 * (c) 2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
3 * Alexander Warg <warg@os.inf.tu-dresden.de>,
4 * Torsten Frenzel <frenzel@os.inf.tu-dresden.de>
5 * economic rights: Technische Universität Dresden (Germany)
6 *
7 * This file is part of TUD:OS and distributed under the terms of the
8 * GNU General Public License 2.
9 * Please see the COPYING-GPL-2 file for details.
10 */
15#pragma once
16
17#include <l4/sys/compiler.h>
18#include <l4/vbus/vbus_types.h>
19#include <l4/sys/types.h>
20
22enum {
25};
26
37
57
65int L4_CV
67 l4vbus_device_handle_t *child, char const *hid,
68 int depth, l4vbus_device_t *devinfo);
69
85int L4_CV
87 l4vbus_device_handle_t *child, int depth,
88 l4vbus_device_t *devinfo);
89
103int L4_CV
105 l4vbus_device_t *devinfo);
106
115int L4_CV
117 unsigned res_idx, l4vbus_resource_t *res);
118
119
126int L4_CV
128 char const *cid);
129
140int L4_CV
142 unsigned long max_len);
143
154int L4_CV
156
170int L4_CV
172
187
209int L4_CV
210l4vbus_assign_dma_domain(l4_cap_idx_t vbus, unsigned domain_id,
211 unsigned flags, l4_cap_idx_t dma_space);
212
221int L4_CV
223
233int L4_CV
235 l4_cap_idx_t cap);
236
238
L4 compiler related defines.
unsigned int l4_uint32_t
Unsigned 32bit value.
Definition l4int.h:40
unsigned long l4_cap_idx_t
Capability selector type.
Definition types.h:359
#define __END_DECLS
End section with C types and functions.
Definition compiler.h:199
#define L4_CV
Define calling convention.
Definition linkage.h:44
#define __BEGIN_DECLS
Start section with C types and functions.
Definition compiler.h:196
int l4vbus_get_next_device(l4_cap_idx_t vbus, l4vbus_device_handle_t parent, l4vbus_device_handle_t *child, int depth, l4vbus_device_t *devinfo)
Find next child following child.
int l4vbus_assign_dma_domain(l4_cap_idx_t vbus, unsigned domain_id, unsigned flags, l4_cap_idx_t dma_space)
Bind or unbind a kernel DMA space or a L4Re::Dma_space to a DMA domain.
int l4vbus_get_adr(l4_cap_idx_t vbus, l4vbus_device_handle_t dev, l4_uint32_t *adr)
Get the bus-specific address of a device.
int l4vbus_get_hid(l4_cap_idx_t vbus, l4vbus_device_handle_t dev, char *hid, unsigned long max_len)
Get the HID (hardware identifier) of a device.
int l4vbus_get_device(l4_cap_idx_t vbus, l4vbus_device_handle_t dev, l4vbus_device_t *devinfo)
Obtain detailed information about a Vbus device.
int l4vbus_get_resource(l4_cap_idx_t vbus, l4vbus_device_handle_t dev, unsigned res_idx, l4vbus_resource_t *res)
Obtain the resource description of an individual device resource.
int l4vbus_request_ioport(l4_cap_idx_t vbus, l4vbus_resource_t const *res)
Request an IO port resource.
L4vbus_dma_domain_assign_flags
Flags for l4vbus_assign_dma_domain().
Definition vbus.h:177
int l4vbus_get_device_by_hid(l4_cap_idx_t vbus, l4vbus_device_handle_t parent, l4vbus_device_handle_t *child, char const *hid, int depth, l4vbus_device_t *devinfo)
Find a device by the hardware interface identifier (HID).
int l4vbus_is_compatible(l4_cap_idx_t vbus, l4vbus_device_handle_t dev, char const *cid)
Check if the given device has a compatibility ID (CID) or HID that matches cid.
int l4vbus_vicu_get_cap(l4_cap_idx_t vbus, l4vbus_device_handle_t icu, l4_cap_idx_t cap)
Get capability of ICU.
int l4vbus_release_ioport(l4_cap_idx_t vbus, l4vbus_resource_t const *res)
Release a previously requested IO port resource.
@ L4VBUS_DMAD_BIND
Bind the given DMA space to the DMA domain.
Definition vbus.h:181
@ L4VBUS_DMAD_L4RE_DMA_SPACE
The given DMA space is an L4Re::Dma_space.
Definition vbus.h:183
@ L4VBUS_DMAD_UNBIND
Unbind the given DMA space from the DMA domain.
Definition vbus.h:179
@ L4VBUS_DMAD_KERNEL_DMA_SPACE
The given DMA space is a kernel DMA space (L4::Task)
Definition vbus.h:185
Common L4 ABI Data Types.
Detailed information about a vbus device.
Definition vbus_types.h:70
Description of a single vbus resource.
Definition vbus_types.h:25
l4vbus_icu_src_types
Flags that can be used with the ICU on a vbus device.
Definition vbus.h:28
@ L4VBUS_ICU_SRC_DEV_HANDLE
Flag to denote that the value should be interpreted as a device handle.
Definition vbus.h:35
@ L4VBUS_NULL
NULL device.
Definition vbus.h:23
@ L4VBUS_ROOT_BUS
Root device on the vbus.
Definition vbus.h:24
This header file contains descriptions of vbus related data types and constants.
l4_mword_t l4vbus_device_handle_t
Device handle for a device on the vbus.
Definition vbus_types.h:20