Initial work to introduce device types and device capabilities

This commit is contained in:
Bahadir Balban
2009-11-21 15:00:42 +02:00
parent caa7ac0764
commit d826de2eea
3 changed files with 25 additions and 22 deletions

View File

@@ -40,6 +40,16 @@
{(c)->type &= ~CAP_RTYPE_MASK; \
(c)->type |= CAP_RTYPE_MASK & rtype;}
/*
* User-defined device-types
* (Kept in the user field)
*/
#define CAP_DEVTYPE_TIMER 1
#define CAP_DEVTYPE_UART 2
#define CAP_DEVTYPE_CLCD 3
#define CAP_DEVTYPE_OTHER 0xF
#define CAP_DEVTYPE_MASK 0xF
/*
* Access permissions
*/
@@ -71,23 +81,13 @@
#define CAP_EXREGS_RW_CPUTIME (1 << 6)
/* Map capability */
/* Shift values */
#define CAP_MAP_READ_BIT 0
#define CAP_MAP_WRITE_BIT 1
#define CAP_MAP_EXEC_BIT 2
#define CAP_MAP_CACHED_BIT 3
#define CAP_MAP_UNCACHED_BIT 4
#define CAP_MAP_UNMAP_BIT 5
#define CAP_MAP_UTCB_BIT 6
#define CAP_MAP_READ (1 << CAP_MAP_READ_BIT)
#define CAP_MAP_WRITE (1 << CAP_MAP_WRITE_BIT)
#define CAP_MAP_EXEC (1 << CAP_MAP_EXEC_BIT)
#define CAP_MAP_CACHED (1 << CAP_MAP_CACHED_BIT)
#define CAP_MAP_UNCACHED (1 << CAP_MAP_UNCACHED_BIT)
#define CAP_MAP_UNMAP (1 << CAP_MAP_UNMAP_BIT)
#define CAP_MAP_UTCB (1 << CAP_MAP_UTCB_BIT)
#define CAP_MAP_READ (1 << 0)
#define CAP_MAP_WRITE (1 << 1)
#define CAP_MAP_EXEC (1 << 2)
#define CAP_MAP_CACHED (1 << 3)
#define CAP_MAP_UNCACHED (1 << 4)
#define CAP_MAP_UNMAP (1 << 5)
#define CAP_MAP_UTCB (1 << 6)
/* Ipc capability */
#define CAP_IPC_SEND (1 << 0)

View File

@@ -71,8 +71,8 @@ struct capability {
unsigned long end; /* Resource end value */
unsigned long size; /* Resource size */
/* Used amount on resource */
unsigned long used;
/* Used amount on resource _or_ user-defined attributes */
unsigned long user;
};
struct cap_list {