diff options
author | Neal H. Walfield <neal@gnu.org> | 2009-01-16 22:01:53 +0100 |
---|---|---|
committer | Neal H. Walfield <neal@gnu.org> | 2009-01-16 22:20:01 +0100 |
commit | c6162ace7c47120f88cf7531ddd6d0b542236668 (patch) | |
tree | 94f86d2c9f416dc5610ee7be0ed6a70b623fbbe0 /libviengoos | |
parent | f85a2dd97a5b8b39d1141d27bfbf60588a599073 (diff) | |
parent | 8e7249d8deae3a82c086f435b7e31ec16d1457da (diff) |
Merge branch 'master' into viengoos-on-bare-metal (Separate L4 code).
Conflicts:
Makefile.am
README
configure.ac
gcc/Makefrag.am
libhurd-btree/Makefile.am
viengoos/Makefile.am
Diffstat (limited to 'libviengoos')
-rw-r--r-- | libviengoos/ChangeLog | 7 | ||||
-rw-r--r-- | libviengoos/viengoos/thread.h | 19 |
2 files changed, 22 insertions, 4 deletions
diff --git a/libviengoos/ChangeLog b/libviengoos/ChangeLog index 180a7a4..1c061f1 100644 --- a/libviengoos/ChangeLog +++ b/libviengoos/ChangeLog @@ -1,3 +1,10 @@ +2009-01-16 Neal H. Walfield <neal@gnu.org> + + * viengoos/thread.h (VG_READ): Define. + (VG_WRITE): Define. + (VG_EXECUTE): Likewise. + (VG_ACTIVATION_FAULT_INFO_PRINTF): Use them. + 2008-12-18 Neal H. Walfield <neal@gnu.org> * viengoos/cap.h (object_discarded_clear): Take additional diff --git a/libviengoos/viengoos/thread.h b/libviengoos/viengoos/thread.h index bf71a7d..dbab8ee 100644 --- a/libviengoos/viengoos/thread.h +++ b/libviengoos/viengoos/thread.h @@ -316,13 +316,24 @@ vg_activation_method_id_string (uintptr_t id) } } +enum + { + VG_READ = 1 << 0, +#define VG_READ VG_READ + VG_WRITE = 1 << 1, +#define VG_WRITE VG_WRITE + VG_EXECUTE = 1 << 2, +#define VG_EXECUTE VG_EXECUTE + }; + struct vg_activation_fault_info { union { struct { - /* Type of access. */ + /* Type of access. A bitwise or of VG_READ, VG_WRITE and + VG_EXECUTE. */ uintptr_t access: 3; /* Type of object that was attempting to be accessed. */ uintptr_t type : VG_CAP_TYPE_BITS; @@ -335,9 +346,9 @@ struct vg_activation_fault_info #define VG_ACTIVATION_FAULT_INFO_FMT "%c%c%c %s%s" #define VG_ACTIVATION_FAULT_INFO_PRINTF(info) \ - ((info).access & L4_FPAGE_READABLE ? 'r' : '~'), \ - ((info).access & L4_FPAGE_WRITABLE ? 'w' : '~'), \ - ((info).access & L4_FPAGE_EXECUTABLE ? 'x' : '~'), \ + ((info).access & VG_READ ? 'r' : '~'), \ + ((info).access & VG_WRITE ? 'w' : '~'), \ + ((info).access & VG_EXECUTE ? 'x' : '~'), \ vg_cap_type_string ((info).type), \ (info.discarded) ? " discarded" : "" |