L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
vbus_types.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 * economic rights: Technische Universität Dresden (Germany)
5 *
6 * License: see LICENSE.spdx (in this directory or the directories above)
7 */
13#pragma once
14
15#include <l4/sys/types.h>
16
21
37
49
61
62enum l4vbus_consts_t {
63 L4VBUS_DEV_NAME_LEN = 64,
64 L4VBUS_MAX_DEPTH = 100,
65};
66
68typedef struct {
72 char name[L4VBUS_DEV_NAME_LEN];
74 unsigned num_resources;
76 unsigned flags;
78
unsigned long l4_addr_t
Address type.
Definition l4int.h:34
signed long l4_mword_t
Signed machine word.
Definition l4int.h:37
unsigned int l4_uint32_t
Unsigned 32bit value.
Definition l4int.h:29
unsigned short int l4_uint16_t
Unsigned 16bit value.
Definition l4int.h:27
Common L4 ABI Data Types.
Detailed information about a vbus device.
Definition vbus_types.h:68
unsigned flags
Flags, see l4vbus_device_flags_t.
Definition vbus_types.h:76
l4_uint32_t type
Bitfield of supported sub-interfaces, see l4vbus_iface_type_t.
Definition vbus_types.h:70
unsigned num_resources
Number of resources for this device.
Definition vbus_types.h:74
Description of a single vbus resource.
Definition vbus_types.h:23
l4_uint16_t flags
Flags.
Definition vbus_types.h:27
l4vbus_device_handle_t provider
Device handle of the provider of the resource.
Definition vbus_types.h:33
l4_uint16_t type
Resource type, see l4vbus_resource_type_t.
Definition vbus_types.h:25
l4vbus_paddr_t start
Start of resource range.
Definition vbus_types.h:29
l4vbus_paddr_t end
End of resource range (inclusive)
Definition vbus_types.h:31
l4_uint32_t id
Resource ID (4 bytes), usually a 4 letter ASCII name is used.
Definition vbus_types.h:35
l4vbus_resource_flags_t
Description of vbus resource flags.
Definition vbus_types.h:51
@ L4VBUS_RESOURCE_F_MEM_R
Memory resource is readable.
Definition vbus_types.h:53
@ L4VBUS_RESOURCE_F_MEM_W
Memory resource is writeable.
Definition vbus_types.h:55
@ L4VBUS_RESOURCE_F_MEM_MMIO_WRITE
Writing needs to be performed using the MMIO space protocol.
Definition vbus_types.h:59
@ L4VBUS_RESOURCE_F_MEM_MMIO_READ
Reading needs to be performed using the MMIO space protocol.
Definition vbus_types.h:57
l4_mword_t l4vbus_device_handle_t
Device handle for a device on the vbus.
Definition vbus_types.h:18
l4vbus_device_flags_t
Flags describing device properties, see l4vbus_device_t.
Definition vbus_types.h:80
@ L4VBUS_DEVICE_F_CHILDREN
Device has child devices.
Definition vbus_types.h:81
l4_addr_t l4vbus_paddr_t
Address of resources on the vbus.
Definition vbus_types.h:20
l4vbus_resource_type_t
Description of vbus resource types.
Definition vbus_types.h:39
@ L4VBUS_RESOURCE_IRQ
Interrupt resource.
Definition vbus_types.h:41
@ L4VBUS_RESOURCE_MAX
Maximum resource id.
Definition vbus_types.h:47
@ L4VBUS_RESOURCE_PORT
I/O port resource (x86 only)
Definition vbus_types.h:43
@ L4VBUS_RESOURCE_DMA_DOMAIN
DMA domain.
Definition vbus_types.h:46
@ L4VBUS_RESOURCE_BUS
Bus resource.
Definition vbus_types.h:44
@ L4VBUS_RESOURCE_MEM
I/O memory resource.
Definition vbus_types.h:42
@ L4VBUS_RESOURCE_GPIO
Gpio resource.
Definition vbus_types.h:45
@ L4VBUS_RESOURCE_INVALID
Invalid type.
Definition vbus_types.h:40