summaryrefslogtreecommitdiff
path: root/libviengoos
diff options
context:
space:
mode:
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 a61859f..1f04e39 100644
--- a/libviengoos/viengoos/thread.h
+++ b/libviengoos/viengoos/thread.h
@@ -303,13 +303,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;
@@ -322,9 +333,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" : ""