L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
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 * This file is part of TUD:OS and distributed under the terms of the
7 * GNU General Public License 2.
8 * Please see the COPYING-GPL-2 file for details.
9 */
15#pragma once
16
17#include <l4/sys/types.h>
18
23
39
51
63
64enum l4vbus_consts_t {
65 L4VBUS_DEV_NAME_LEN = 64,
66 L4VBUS_MAX_DEPTH = 100,
67};
68
70typedef struct {
74 char name[L4VBUS_DEV_NAME_LEN];
76 unsigned num_resources;
78 unsigned flags;
80
unsigned long l4_addr_t
Address type.
Definition l4int.h:45
signed long l4_mword_t
Signed machine word.
Definition l4int.h:48
unsigned int l4_uint32_t
Unsigned 32bit value.
Definition l4int.h:40
unsigned short int l4_uint16_t
Unsigned 16bit value.
Definition l4int.h:38
Common L4 ABI Data Types.
Detailed information about a vbus device.
Definition vbus_types.h:70
unsigned flags
Flags, see l4vbus_device_flags_t.
Definition vbus_types.h:78
l4_uint32_t type
Bitfield of supported sub-interfaces, see l4vbus_iface_type_t.
Definition vbus_types.h:72
unsigned num_resources
Number of resources for this device.
Definition vbus_types.h:76
Description of a single vbus resource.
Definition vbus_types.h:25
l4_uint16_t flags
Flags.
Definition vbus_types.h:29
l4vbus_device_handle_t provider
Device handle of the provider of the resource.
Definition vbus_types.h:35
l4_uint16_t type
Resource type, see l4vbus_resource_type_t.
Definition vbus_types.h:27
l4vbus_paddr_t start
Start of resource range.
Definition vbus_types.h:31
l4vbus_paddr_t end
End of resource range (inclusive)
Definition vbus_types.h:33
l4_uint32_t id
Resource ID (4 bytes), usually a 4 letter ASCII name is used.
Definition vbus_types.h:37
l4vbus_resource_flags_t
Description of vbus resource flags.
Definition vbus_types.h:53
@ L4VBUS_RESOURCE_F_MEM_R
Memory resource is readable.
Definition vbus_types.h:55
@ L4VBUS_RESOURCE_F_MEM_W
Memory resource is writeable.
Definition vbus_types.h:57
@ L4VBUS_RESOURCE_F_MEM_MMIO_WRITE
Writing needs to be performed using the MMIO space protocol.
Definition vbus_types.h:61
@ L4VBUS_RESOURCE_F_MEM_MMIO_READ
Reading needs to be performed using the MMIO space protocol.
Definition vbus_types.h:59
l4_mword_t l4vbus_device_handle_t
Device handle for a device on the vbus.
Definition vbus_types.h:20
l4vbus_device_flags_t
Flags describing device properties, see l4vbus_device_t.
Definition vbus_types.h:82
@ L4VBUS_DEVICE_F_CHILDREN
Device has child devices.
Definition vbus_types.h:83
l4_addr_t l4vbus_paddr_t
Address of resources on the vbus.
Definition vbus_types.h:22
l4vbus_resource_type_t
Description of vbus resource types.
Definition vbus_types.h:41
@ L4VBUS_RESOURCE_IRQ
Interrupt resource.
Definition vbus_types.h:43
@ L4VBUS_RESOURCE_MAX
Maximum resource id.
Definition vbus_types.h:49
@ L4VBUS_RESOURCE_PORT
I/O port resource (x86 only)
Definition vbus_types.h:45
@ L4VBUS_RESOURCE_DMA_DOMAIN
DMA domain.
Definition vbus_types.h:48
@ L4VBUS_RESOURCE_BUS
Bus resource.
Definition vbus_types.h:46
@ L4VBUS_RESOURCE_MEM
I/O memory resource.
Definition vbus_types.h:44
@ L4VBUS_RESOURCE_GPIO
Gpio resource.
Definition vbus_types.h:47
@ L4VBUS_RESOURCE_INVALID
Invalid type.
Definition vbus_types.h:42