summaryrefslogtreecommitdiff
path: root/libviengoos
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2009-01-16 22:01:53 +0100
committerNeal H. Walfield <neal@gnu.org>2009-01-16 22:20:01 +0100
commitc6162ace7c47120f88cf7531ddd6d0b542236668 (patch)
tree94f86d2c9f416dc5610ee7be0ed6a70b623fbbe0 /libviengoos
parentf85a2dd97a5b8b39d1141d27bfbf60588a599073 (diff)
parent8e7249d8deae3a82c086f435b7e31ec16d1457da (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/ChangeLog7
-rw-r--r--libviengoos/viengoos/thread.h19
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" : ""