summaryrefslogtreecommitdiff
path: root/libl4
diff options
context:
space:
mode:
authormarcus <marcus>2004-10-06 15:13:01 +0000
committermarcus <marcus>2004-10-06 15:13:01 +0000
commit7c8aa6b5af257a5c41208df95f44192849eb115e (patch)
tree5614ca910a211c6d920262f7d99d1ac30be4f293 /libl4
parent0838e7fcbd6d4662ecf50f7b1e9224159e448371 (diff)
2004-10-06 Marcus Brinkmann <marcus@gnu.org>
* l4/gnu/space.h (L4_FPAGE_READ_WRITE_ONLY): Define macro. * l4/space.h (_L4_read_write_only): Define macro. * l4/compat/space.h (L4_ReadWriteOnly): Define macro. * l4/compat/syscall.h (L4_ErrOk): Define macro. * l4/misc.h (_L4_set_page_attribute): Wrap the ATTRIBUTE argument into an object of the correct type.
Diffstat (limited to 'libl4')
-rw-r--r--libl4/ChangeLog9
-rw-r--r--libl4/l4/compat/space.h1
-rw-r--r--libl4/l4/compat/syscall.h1
-rw-r--r--libl4/l4/gnu/space.h1
-rw-r--r--libl4/l4/misc.h3
-rw-r--r--libl4/l4/space.h1
6 files changed, 16 insertions, 0 deletions
diff --git a/libl4/ChangeLog b/libl4/ChangeLog
index 1825279..1863c9b 100644
--- a/libl4/ChangeLog
+++ b/libl4/ChangeLog
@@ -1,3 +1,12 @@
+2004-10-06 Marcus Brinkmann <marcus@gnu.org>
+
+ * l4/gnu/space.h (L4_FPAGE_READ_WRITE_ONLY): Define macro.
+ * l4/space.h (_L4_read_write_only): Define macro.
+ * l4/compat/space.h (L4_ReadWriteOnly): Define macro.
+ * l4/compat/syscall.h (L4_ErrOk): Define macro.
+ * l4/misc.h (_L4_set_page_attribute): Wrap the ATTRIBUTE argument
+ into an object of the correct type.
+
2004-08-02 Peter Bruin <pjbruin@dds.nl>
* powerpc/l4/bits/vregs.h (_L4_my_local_id): Remove variable
diff --git a/libl4/l4/compat/space.h b/libl4/l4/compat/space.h
index f9d687f..6775a70 100644
--- a/libl4/l4/compat/space.h
+++ b/libl4/l4/compat/space.h
@@ -34,6 +34,7 @@
#define L4_Writable _L4_writable
#define L4_eXecutable _L4_executable
#define L4_FullyAccessible _L4_fullly_accesible
+#define L4_ReadWriteOnly _L4_read_write_only
#define L4_ReadeXecOnly _L4_read_exec_only
#define L4_NoAccess _L4_no_access
diff --git a/libl4/l4/compat/syscall.h b/libl4/l4/compat/syscall.h
index b6c3d5c..4aad801 100644
--- a/libl4/l4/compat/syscall.h
+++ b/libl4/l4/compat/syscall.h
@@ -23,6 +23,7 @@
# error "Never use <l4/compat/syscall.h> directly; include <l4/syscall.h> instead."
#endif
+#define L4_ErrOk (0)
#define L4_ErrNoPrivilege _L4_ERR_NO_PRIVILEGE
#define L4_ErrInvalidThread _L4_ERR_INV_THREAD
#define L4_ErrInvalidSpace _L4_ERR_INV_SPACE
diff --git a/libl4/l4/gnu/space.h b/libl4/l4/gnu/space.h
index 5982dc9..9ae560e 100644
--- a/libl4/l4/gnu/space.h
+++ b/libl4/l4/gnu/space.h
@@ -29,6 +29,7 @@
#define L4_FPAGE_WRITABLE _L4_writable
#define L4_FPAGE_READABLE _L4_readable
#define L4_FPAGE_FULLY_ACCESSIBLE _L4_fully_accessible
+#define L4_FPAGE_READ_WRITE_ONLY _L4_read_write_only
#define L4_FPAGE_READ_EXEC_ONLY _L4_read_exec_only
#define L4_NILPAGE _L4_nilpage
diff --git a/libl4/l4/misc.h b/libl4/l4/misc.h
index 38008d3..c266936 100644
--- a/libl4/l4/misc.h
+++ b/libl4/l4/misc.h
@@ -36,6 +36,9 @@ static inline _L4_word_t
_L4_attribute_always_inline
_L4_set_page_attribute (_L4_fpage_t fpage, _L4_word_t attribute)
{
+ _L4_word_t attributes[4];
+
+ attributes[0] = attribute;
_L4_set_rights (&fpage, 0);
_L4_load_mr (0, fpage);
return _L4_memory_control (0, &attribute);
diff --git a/libl4/l4/space.h b/libl4/l4/space.h
index 55bd0b2..715bcf8 100644
--- a/libl4/l4/space.h
+++ b/libl4/l4/space.h
@@ -60,6 +60,7 @@ typedef _L4_RAW
#define _L4_writable 0x02
#define _L4_readable 0x04
#define _L4_fully_accessible (_L4_readable | _L4_writable | _L4_executable)
+#define _L4_read_write_only (_L4_readable | _L4_writable)
#define _L4_read_exec_only (_L4_readable | _L4_executable)
#define _L4_nilpage ((_L4_fpage_t) 0)