Loading...
Searching...
No Matches
types.h
/*
* (c) 2008-2010 Adam Lackorzynski <adam@os.inf.tu-dresden.de>
* economic rights: Technische Universität Dresden (Germany)
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#pragma once
#include <l4/vbus/vbus_types.h>
enum l4io_iomem_flags_t
{
L4IO_MEM_NONCACHED = 0,
L4IO_MEM_CACHED = 1,
L4IO_MEM_USE_MTRR = 2,
L4IO_MEM_ATTR_MASK = 0xf,
// combinations
L4IO_MEM_WRITE_COMBINED = L4IO_MEM_USE_MTRR | L4IO_MEM_CACHED,
L4IO_MEM_USE_RESERVED_AREA = 0x40 << 8,
L4IO_MEM_EAGER_MAP = 0x80 << 8,
};
enum l4io_device_types_t {
L4IO_DEVICE_INVALID = 0,
L4IO_DEVICE_PCI,
L4IO_DEVICE_USB,
L4IO_DEVICE_OTHER,
L4IO_DEVICE_ANY = ~0
};
enum l4io_resource_types_t {
L4IO_RESOURCE_INVALID = L4VBUS_RESOURCE_INVALID,
L4IO_RESOURCE_IRQ = L4VBUS_RESOURCE_IRQ,
L4IO_RESOURCE_MEM = L4VBUS_RESOURCE_MEM,
L4IO_RESOURCE_PORT = L4VBUS_RESOURCE_PORT,
L4IO_RESOURCE_ANY = ~0
};
typedef l4vbus_device_handle_t l4io_device_handle_t;
typedef unsigned l4io_resource_handle_t;
typedef l4vbus_resource_t l4io_resource_t;
typedef l4vbus_device_t l4io_device_t;
l4io_iomem_flags_t
l4io_iomem_flags_t
Flags for IO memory.
Definition types.h:15
l4io_resource_t
l4vbus_resource_t l4io_resource_t
Resource descriptor.
Definition types.h:67
l4io_resource_types_t
l4io_resource_types_t
Resource types.
Definition types.h:48
l4io_device_t
l4vbus_device_t l4io_device_t
Device descriptor.
Definition types.h:72
l4io_device_types_t
l4io_device_types_t
Device types.
Definition types.h:36
L4IO_MEM_CACHED
@ L4IO_MEM_CACHED
Cache memory.
Definition types.h:17
L4IO_MEM_NONCACHED
@ L4IO_MEM_NONCACHED
Non-cache memory.
Definition types.h:16
L4IO_MEM_USE_MTRR
@ L4IO_MEM_USE_MTRR
Use MTRR.
Definition types.h:18
L4IO_MEM_USE_RESERVED_AREA
@ L4IO_MEM_USE_RESERVED_AREA
Use reserved area for mapping I/O memory.
Definition types.h:27
L4IO_MEM_EAGER_MAP
@ L4IO_MEM_EAGER_MAP
Eagerly map the I/O memory.
Definition types.h:29
L4IO_RESOURCE_ANY
@ L4IO_RESOURCE_ANY
any type
Definition types.h:53
L4IO_RESOURCE_INVALID
@ L4IO_RESOURCE_INVALID
Invalid type.
Definition types.h:49
L4IO_RESOURCE_PORT
@ L4IO_RESOURCE_PORT
I/O port resource (x86 only).
Definition types.h:52
L4IO_RESOURCE_IRQ
@ L4IO_RESOURCE_IRQ
Interrupt resource.
Definition types.h:50
L4IO_RESOURCE_MEM
@ L4IO_RESOURCE_MEM
I/O memory resource.
Definition types.h:51
L4IO_DEVICE_PCI
@ L4IO_DEVICE_PCI
PCI device.
Definition types.h:38
L4IO_DEVICE_OTHER
@ L4IO_DEVICE_OTHER
Any other device without unique IDs.
Definition types.h:40
L4IO_DEVICE_ANY
@ L4IO_DEVICE_ANY
any type
Definition types.h:41
L4IO_DEVICE_INVALID
@ L4IO_DEVICE_INVALID
Invalid type.
Definition types.h:37
L4IO_DEVICE_USB
@ L4IO_DEVICE_USB
USB device.
Definition types.h:39
l4vbus_device_t
Detailed information about a vbus device.
Definition vbus_types.h:80
l4vbus_resource_t
Description of a single vbus resource.
Definition vbus_types.h:23
vbus_types.h
This header file contains descriptions of vbus related data types and constants.
l4vbus_device_handle_t
l4_mword_t l4vbus_device_handle_t
Device handle for a device on the vbus.
Definition vbus_types.h:18
L4VBUS_RESOURCE_IRQ
@ L4VBUS_RESOURCE_IRQ
Interrupt resource.
Definition vbus_types.h:41
L4VBUS_RESOURCE_PORT
@ L4VBUS_RESOURCE_PORT
I/O port resource (x86 only).
Definition vbus_types.h:43
L4VBUS_RESOURCE_MEM
@ L4VBUS_RESOURCE_MEM
I/O memory resource.
Definition vbus_types.h:42
L4VBUS_RESOURCE_INVALID
@ L4VBUS_RESOURCE_INVALID
Invalid type.
Definition vbus_types.h:40