mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 02:43:15 +01:00
Initial work to introduce device types and device capabilities
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user