summaryrefslogtreecommitdiff
path: root/libhurd-mm
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-12-17 13:11:52 +0100
committerNeal H. Walfield <neal@gnu.org>2008-12-17 13:11:52 +0100
commitca828476fdb64ad4615bc6f580c2a451e78fcc1c (patch)
tree320c2e89e34bbcd0ba82b64728f831b8536cc286 /libhurd-mm
parentf0d7e0e0ee0cb0362ee79739922a76faef17917c (diff)
Move viengoos header files to libviengoos.
/ 2008-12-17 Neal H. Walfield <neal@gnu.org> * libviengoos: New directory. * Makefile.am (SUBDIRS): Add libviengoos. * configure.ac: Include libviengoos/headers.m4. Generate libviengoos/Makefile. hurd/ 2008-12-17 Neal H. Walfield <neal@gnu.org> * activity.h: Move to ../libviengoos/viengoos. Update references. * addr-trans.h: Likewise. * addr.h: Likewise. * cap.h: Likewise. * folio.h: Likewise. * futex.h: Likewise. * ipc.h: Likewise. * message.h: Likewise. * messenger.h: Likewise. * rpc.h: Likewise. * thread.h: Move viengoos specific bits... * ../libviengoos/viengoos/thread.h: ... to this new file. * thread.h (struct hurd_utcb): New structure. * exceptions.h (hurd_utcb): Use a struct hurd_utcb *, not a struct vg_utcb *. Update users. (hurd_activation_state_alloc): Likewise. (hurd_activation_state_free): Likewise. (hurd_activation_handler_activated): Likewise. (hurd_activation_handler_normal): Likewise. * t-addr-trans.c: Move to ../libviengoos. * t-addr.c: Likewise. * t-rpc.c: Likewise. * Makefile.am (TESTS, check_PROGRAMS, t_addr_CPPFLAGS) (t_addr_SOURCES, t_addr_trans_CPPFLAGS, t_addr_trans_SOURCES) (t_rpc_CPPFLAGS, t_rpc_SOURCES): Move from this file... * ../libviengoos/Makefile.am. * Makefile.am (includehurd_HEADERS): Don't mention activity.h, addr-trans.h, addr.h, cap.h, folio.h, futex.h, ipc.h, message.h or messenger.h. * headers.m4: Don't create a link to hurd/addr.h, hurd/addr-trans.h, hurd/cap.h, hurd/folio.h, hurd/rpc.h, hurd/activity.h, hurd/futex.h, hurd/message.h, hurd/messenger.h or hurd/ipc.h. libviengoos/ 2008-12-17 Neal H. Walfield <neal@gnu.org> * Makefile.am: New file. * headers.m4: Likewise. * t-addr-trans.c: Move from ../hurd. * t-addr.c: Likewise. * t-rpc.c: Likewise. * viengoos.h: Likewise. * viengoos/activity.h: Likewise. * viengoos/addr-trans.h: Likewise. * viengoos/addr.h: Likewise. * viengoos/cap.h: Likewise. * viengoos/folio.h: Likewise. * viengoos/futex.h: Likewise. * viengoos/ipc.h: Likewise. * viengoos/message.h: Likewise. * viengoos/messenger.h: Likewise. * viengoos/rpc.h: Likewise. * viengoos/misc.h: Moved from ../viengoos/rm.h. * viengoos/thread.h: New file split from ../hurd/thread.h. libpthread/ 2008-12-17 Neal H. Walfield <neal@gnu.org> * Makefile.am: New file. * headers.m4: Likewise. * t-addr-trans.c: Move from ../hurd. * t-addr.c: Likewise. * t-rpc.c: Likewise. * viengoos.h: Likewise. * viengoos/activity.h: Likewise. * viengoos/addr-trans.h: Likewise. * viengoos/addr.h: Likewise. * viengoos/cap.h: Likewise. * viengoos/folio.h: Likewise. * viengoos/futex.h: Likewise. * viengoos/ipc.h: Likewise. * viengoos/message.h: Likewise. * viengoos/messenger.h: Likewise. * viengoos/rpc.h: Likewise. * viengoos/misc.h: Moved from ../viengoos/rm.h. * viengoos/thread.h: New file split from ../hurd/thread.h. viengoos/ 2008-12-17 Neal H. Walfield <neal@gnu.org> * rm.h: Move from here... * ../libviengoos/viengoos/misc.h: ... to here. Update users. * headers.m4: Don't link rm.h to hurd/rm.h. * Makefile.am (viengoos_SOURCES): Remove rm.h.
Diffstat (limited to 'libhurd-mm')
-rw-r--r--libhurd-mm/anonymous.c2
-rw-r--r--libhurd-mm/anonymous.h2
-rw-r--r--libhurd-mm/as-build-custom.c6
-rw-r--r--libhurd-mm/as-build.c6
-rw-r--r--libhurd-mm/as-compute-gbits.h2
-rw-r--r--libhurd-mm/as-dump.c4
-rw-r--r--libhurd-mm/as-lookup.c4
-rw-r--r--libhurd-mm/as.c6
-rw-r--r--libhurd-mm/as.h4
-rw-r--r--libhurd-mm/capalloc.c2
-rw-r--r--libhurd-mm/capalloc.h2
-rw-r--r--libhurd-mm/exceptions.c93
-rw-r--r--libhurd-mm/ia32-exception-entry.S2
-rw-r--r--libhurd-mm/madvise.c2
-rw-r--r--libhurd-mm/map.h2
-rw-r--r--libhurd-mm/message-buffer.h2
-rw-r--r--libhurd-mm/mm-init.c3
-rw-r--r--libhurd-mm/mm.h2
-rw-r--r--libhurd-mm/mmap.c2
-rw-r--r--libhurd-mm/mprotect.c2
-rw-r--r--libhurd-mm/storage.c6
-rw-r--r--libhurd-mm/storage.h4
22 files changed, 81 insertions, 79 deletions
diff --git a/libhurd-mm/anonymous.c b/libhurd-mm/anonymous.c
index dc5a78b..c6f0bcb 100644
--- a/libhurd-mm/anonymous.c
+++ b/libhurd-mm/anonymous.c
@@ -28,7 +28,7 @@
#include <hurd/btree.h>
#include <hurd/slab.h>
-#include <hurd/rm.h>
+#include <viengoos/misc.h>
#include <profile.h>
#include <backtrace.h>
diff --git a/libhurd-mm/anonymous.h b/libhurd-mm/anonymous.h
index e946dc2..fe5491e 100644
--- a/libhurd-mm/anonymous.h
+++ b/libhurd-mm/anonymous.h
@@ -23,7 +23,7 @@
#include <hurd/pager.h>
#include <hurd/btree.h>
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
#include <hurd/exceptions.h>
#include <l4/thread.h>
diff --git a/libhurd-mm/as-build-custom.c b/libhurd-mm/as-build-custom.c
index d393f54..5c200ce 100644
--- a/libhurd-mm/as-build-custom.c
+++ b/libhurd-mm/as-build-custom.c
@@ -18,9 +18,9 @@
along with this program. If not, see
<http://www.gnu.org/licenses/>. */
-#include <hurd/activity.h>
-#include <hurd/addr.h>
-#include <hurd/cap.h>
+#include <viengoos/activity.h>
+#include <viengoos/addr.h>
+#include <viengoos/cap.h>
/* Expose as_slot_ensure_full_custom and as_insert_custom. */
#define ID_SUFFIX custom
diff --git a/libhurd-mm/as-build.c b/libhurd-mm/as-build.c
index 728183b..b2266cb 100644
--- a/libhurd-mm/as-build.c
+++ b/libhurd-mm/as-build.c
@@ -22,12 +22,12 @@
#include <stddef.h>
#include <assert.h>
-#include <hurd/cap.h>
+#include <viengoos/cap.h>
#include <hurd/stddef.h>
-#include <hurd/folio.h>
+#include <viengoos/folio.h>
#include <hurd/exceptions.h>
#include <hurd/as.h>
-#include <hurd/rm.h>
+#include <viengoos/misc.h>
#ifndef RM_INTERN
# include <hurd/storage.h>
diff --git a/libhurd-mm/as-compute-gbits.h b/libhurd-mm/as-compute-gbits.h
index 72faf8e..4fe1d42 100644
--- a/libhurd-mm/as-compute-gbits.h
+++ b/libhurd-mm/as-compute-gbits.h
@@ -18,7 +18,7 @@
along with this program. If not, see
<http://www.gnu.org/licenses/>. */
-#include <hurd/folio.h>
+#include <viengoos/folio.h>
struct as_guard_cappage
{
diff --git a/libhurd-mm/as-dump.c b/libhurd-mm/as-dump.c
index f0f8e1f..4eb4168 100644
--- a/libhurd-mm/as-dump.c
+++ b/libhurd-mm/as-dump.c
@@ -18,8 +18,8 @@
along with this program. If not, see
<http://www.gnu.org/licenses/>. */
-#include <hurd/cap.h>
-#include <hurd/folio.h>
+#include <viengoos/cap.h>
+#include <viengoos/folio.h>
#include <hurd/as.h>
#include <hurd/stddef.h>
#include <assert.h>
diff --git a/libhurd-mm/as-lookup.c b/libhurd-mm/as-lookup.c
index ca8fb30..7639fd1 100644
--- a/libhurd-mm/as-lookup.c
+++ b/libhurd-mm/as-lookup.c
@@ -18,8 +18,8 @@
along with this program. If not, see
<http://www.gnu.org/licenses/>. */
-#include <hurd/cap.h>
-#include <hurd/folio.h>
+#include <viengoos/cap.h>
+#include <viengoos/folio.h>
#include <hurd/as.h>
#include <hurd/stddef.h>
#include <assert.h>
diff --git a/libhurd-mm/as.c b/libhurd-mm/as.c
index 4daed0c..be9dc09 100644
--- a/libhurd-mm/as.c
+++ b/libhurd-mm/as.c
@@ -20,11 +20,11 @@
#include "as.h"
#include "storage.h"
-#include <hurd/rm.h>
+#include <viengoos/misc.h>
#include <pthread.h>
-#include <hurd/folio.h>
-#include <hurd/cap.h>
+#include <viengoos/folio.h>
+#include <viengoos/cap.h>
#include <hurd/btree.h>
#include <hurd/slab.h>
#include <hurd/mutex.h>
diff --git a/libhurd-mm/as.h b/libhurd-mm/as.h
index 1e281b6..8343fdd 100644
--- a/libhurd-mm/as.h
+++ b/libhurd-mm/as.h
@@ -22,8 +22,8 @@
#ifndef _HURD_AS_H
#define _HURD_AS_H
-#include <hurd/addr.h>
-#include <hurd/cap.h>
+#include <viengoos/addr.h>
+#include <viengoos/cap.h>
#include <hurd/exceptions.h>
#include <stdbool.h>
#include <l4/types.h>
diff --git a/libhurd-mm/capalloc.c b/libhurd-mm/capalloc.c
index dde4956..998b123 100644
--- a/libhurd-mm/capalloc.c
+++ b/libhurd-mm/capalloc.c
@@ -24,7 +24,7 @@
#include "storage.h"
#include "as.h"
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
#include <hurd/btree.h>
#include <hurd/slab.h>
#include <hurd/stddef.h>
diff --git a/libhurd-mm/capalloc.h b/libhurd-mm/capalloc.h
index 77d6359..5583f3f 100644
--- a/libhurd-mm/capalloc.h
+++ b/libhurd-mm/capalloc.h
@@ -22,7 +22,7 @@
#ifndef _HURD_CAP_ALLOC_H
#define _HURD_CAP_ALLOC_H
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
/* Allocate a capability slot. */
extern addr_t capalloc (void);
diff --git a/libhurd-mm/exceptions.c b/libhurd-mm/exceptions.c
index 26ad7c7..73d9a9f 100644
--- a/libhurd-mm/exceptions.c
+++ b/libhurd-mm/exceptions.c
@@ -24,7 +24,7 @@
#include <hurd/storage.h>
#include <hurd/thread.h>
#include <hurd/mm.h>
-#include <hurd/rm.h>
+#include <viengoos/misc.h>
#include <hurd/slab.h>
#include <l4/thread.h>
@@ -38,7 +38,7 @@
void
hurd_fault_catcher_register (struct hurd_fault_catcher *catcher)
{
- struct vg_utcb *utcb = hurd_utcb ();
+ struct hurd_utcb *utcb = hurd_utcb ();
assert (utcb);
assert (catcher);
@@ -153,7 +153,7 @@ hurd_activation_message_register (struct hurd_message_buffer *message_buffer)
if (unlikely (! mm_init_done))
return;
- struct vg_utcb *utcb = hurd_utcb ();
+ struct hurd_utcb *utcb = hurd_utcb ();
assert (utcb);
assert (message_buffer);
@@ -173,7 +173,7 @@ hurd_activation_message_unregister (struct hurd_message_buffer *message_buffer)
if (unlikely (! mm_init_done))
return;
- struct vg_utcb *utcb = hurd_utcb ();
+ struct hurd_utcb *utcb = hurd_utcb ();
assert (utcb);
assert (message_buffer);
assert (utcb->extant_message == message_buffer);
@@ -218,7 +218,7 @@ activation_frame_slab_dealloc (void *hook, void *buffer, size_t size)
}
static void
-check_activation_frame_reserve (struct vg_utcb *utcb)
+check_activation_frame_reserve (struct hurd_utcb *utcb)
{
if (unlikely (! utcb->activation_stack
|| ! utcb->activation_stack->prev))
@@ -244,7 +244,7 @@ check_activation_frame_reserve (struct vg_utcb *utcb)
}
static struct activation_frame *
-activation_frame_alloc (struct vg_utcb *utcb)
+activation_frame_alloc (struct hurd_utcb *utcb)
{
struct activation_frame *activation_frame;
@@ -272,7 +272,7 @@ activation_frame_alloc (struct vg_utcb *utcb)
void
hurd_activation_stack_dump (void)
{
- struct vg_utcb *utcb = hurd_utcb ();
+ struct hurd_utcb *utcb = hurd_utcb ();
int depth = 0;
struct activation_frame *activation_frame;
@@ -300,7 +300,7 @@ hurd_activation_stack_dump (void)
void
hurd_activation_handler_normal (struct activation_frame *activation_frame,
- struct vg_utcb *utcb)
+ struct hurd_utcb *utcb)
{
assert (utcb == hurd_utcb ());
assert (activation_frame->canary == ACTIVATION_FRAME_CANARY);
@@ -451,7 +451,7 @@ hurd_activation_handler_normal (struct activation_frame *activation_frame,
#ifndef NDEBUG
static uintptr_t
-crc (struct vg_utcb *utcb)
+crc (struct hurd_utcb *utcb)
{
uintptr_t crc = 0;
uintptr_t *p;
@@ -463,15 +463,15 @@ crc (struct vg_utcb *utcb)
#endif
struct activation_frame *
-hurd_activation_handler_activated (struct vg_utcb *utcb)
+hurd_activation_handler_activated (struct hurd_utcb *utcb)
{
assert (((uintptr_t) utcb & (PAGESIZE - 1)) == 0);
assert (utcb->canary0 == UTCB_CANARY0);
assert (utcb->canary1 == UTCB_CANARY1);
- assert (utcb->activated_mode);
+ assert (utcb->vg.activated_mode);
/* XXX: Assumption that stack grows down... */
- assert (utcb->activation_handler_sp - PAGESIZE <= (uintptr_t) &utcb);
- assert ((uintptr_t) &utcb <= utcb->activation_handler_sp);
+ assert (utcb->vg.activation_handler_sp - PAGESIZE <= (uintptr_t) &utcb);
+ assert ((uintptr_t) &utcb <= utcb->vg.activation_handler_sp);
if (unlikely (! mm_init_done))
/* Just returns: during initialization, we don't except any faults or
@@ -485,14 +485,14 @@ hurd_activation_handler_activated (struct vg_utcb *utcb)
assertx (utcb == hurd_utcb (),
"%p != %p (func: %p; ip: %p, sp: %p)",
utcb, hurd_utcb (), hurd_utcb,
- (void *) utcb->saved_ip, (void *) utcb->saved_sp);
+ (void *) utcb->vg.saved_ip, (void *) utcb->vg.saved_sp);
debug (5, "Activation handler called (utcb: %p)", utcb);
struct hurd_message_buffer *mb
- = (struct hurd_message_buffer *) (uintptr_t) utcb->messenger_id;
+ = (struct hurd_message_buffer *) (uintptr_t) utcb->vg.messenger_id;
- debug (5, "Got message %llx (utcb: %p)", utcb->messenger_id, utcb);
+ debug (5, "Got message %llx (utcb: %p)", utcb->vg.messenger_id, utcb);
assert (mb->magic == HURD_MESSAGE_BUFFER_MAGIC);
@@ -608,7 +608,7 @@ hurd_activation_handler_activated (struct vg_utcb *utcb)
else
{
panic ("Unknown messenger %llx (extant: %p; exception: %p) (label: %d)",
- utcb->messenger_id,
+ utcb->vg.messenger_id,
utcb->extant_message, utcb->exception_buffer,
vg_message_word (mb->reply, 0));
}
@@ -643,9 +643,9 @@ static char activation_handler_area0[PAGESIZE]
__attribute__ ((aligned (PAGESIZE)));
static char activation_handler_msg[PAGESIZE]
__attribute__ ((aligned (PAGESIZE)));
-static struct vg_utcb *initial_utcb = (void *) &activation_handler_area0[0];
+static struct hurd_utcb *initial_utcb = (void *) &activation_handler_area0[0];
-static struct vg_utcb *
+static struct hurd_utcb *
simple_utcb_fetcher (void)
{
assert (initial_utcb->canary0 == UTCB_CANARY0);
@@ -654,7 +654,7 @@ simple_utcb_fetcher (void)
return initial_utcb;
}
-struct vg_utcb *(*hurd_utcb) (void);
+struct hurd_utcb *(*hurd_utcb) (void);
void
hurd_activation_handler_init_early (void)
@@ -664,21 +664,21 @@ hurd_activation_handler_init_early (void)
hurd_utcb = simple_utcb_fetcher;
- struct vg_utcb *utcb = hurd_utcb ();
+ struct hurd_utcb *utcb = hurd_utcb ();
assert (utcb == initial_utcb);
/* XXX: We assume the stack grows down! SP is set to the end of the
exception page. */
- utcb->activation_handler_sp
+ utcb->vg.activation_handler_sp
= (uintptr_t) activation_handler_area0 + sizeof (activation_handler_area0);
/* The word beyond the base of the stack is interpreted as a pointer
to the exception page. Make it so. */
- utcb->activation_handler_sp -= sizeof (void *);
- * (void **) utcb->activation_handler_sp = utcb;
+ utcb->vg.activation_handler_sp -= sizeof (void *);
+ * (void **) utcb->vg.activation_handler_sp = utcb;
- utcb->activation_handler_ip = (uintptr_t) &hurd_activation_handler_entry;
- utcb->activation_handler_end = (uintptr_t) &hurd_activation_handler_end;
+ utcb->vg.activation_handler_ip = (uintptr_t) &hurd_activation_handler_entry;
+ utcb->vg.activation_handler_end = (uintptr_t) &hurd_activation_handler_end;
struct hurd_thread_exregs_in in;
memset (&in, 0, sizeof (in));
@@ -703,14 +703,14 @@ hurd_activation_handler_init_early (void)
0, 0, ADDR_VOID);
if (err)
panic ("Failed to send IPC: %d", err);
- if (utcb->inline_words[0])
- panic ("Failed to install utcb page: %d", utcb->inline_words[0]);
+ if (utcb->vg.inline_words[0])
+ panic ("Failed to install utcb page: %d", utcb->vg.inline_words[0]);
}
void
hurd_activation_handler_init (void)
{
- struct vg_utcb *utcb;
+ struct hurd_utcb *utcb;
error_t err = hurd_activation_state_alloc (__hurd_startup_data->thread,
&utcb);
if (err)
@@ -730,7 +730,7 @@ hurd_activation_handler_init (void)
#define ACTIVATION_AREA_SIZE (1 << ACTIVATION_AREA_SIZE_LOG2)
error_t
-hurd_activation_state_alloc (addr_t thread, struct vg_utcb **utcbp)
+hurd_activation_state_alloc (addr_t thread, struct hurd_utcb **utcbp)
{
debug (5, DEBUG_BOLD ("allocating activation state for " ADDR_FMT),
ADDR_PRINTF (thread));
@@ -780,7 +780,7 @@ hurd_activation_state_alloc (addr_t thread, struct vg_utcb **utcbp)
int page = SKIP;
/* Allocate the utcb. */
- struct vg_utcb *utcb = activation_area_base + page * PAGESIZE;
+ struct hurd_utcb *utcb = activation_area_base + page * PAGESIZE;
alloc (utcb);
page += 1 + SKIP;
@@ -790,30 +790,31 @@ hurd_activation_state_alloc (addr_t thread, struct vg_utcb **utcbp)
XXX: We assume the stack grows down! */
#ifndef NDEBUG
/* Use a dedicated page. */
- utcb->activation_handler_sp
+ utcb->vg.activation_handler_sp
= (uintptr_t) activation_area_base + page * PAGESIZE;
- alloc ((void *) utcb->activation_handler_sp);
+ alloc ((void *) utcb->vg.activation_handler_sp);
- utcb->activation_handler_sp += PAGESIZE;
+ utcb->vg.activation_handler_sp += PAGESIZE;
page += 1 + SKIP;
#else
/* Use the end of the UTCB. */
- utcb->activation_handler_sp = utcb + PAGESIZE;
+ utcb->vg.activation_handler_sp = utcb + PAGESIZE;
#endif
/* At the top of the stack page, we use some space to remember the
storage we allocate so that we can free it later. */
- utcb->activation_handler_sp
+ utcb->vg.activation_handler_sp
-= sizeof (addr_t) * ACTIVATION_AREA_SIZE / PAGESIZE;
- memset (utcb->activation_handler_sp, 0,
+ memset ((void *) utcb->vg.activation_handler_sp, 0,
sizeof (addr_t) * ACTIVATION_AREA_SIZE / PAGESIZE);
- memcpy (utcb->activation_handler_sp, pages, sizeof (addr_t) * page_count);
- pages = (addr_t *) utcb->activation_handler_sp;
+ memcpy ((void *) utcb->vg.activation_handler_sp, pages,
+ sizeof (addr_t) * page_count);
+ pages = (addr_t *) utcb->vg.activation_handler_sp;
/* The word beyond the base of the stack is a pointer to the
exception page. */
- utcb->activation_handler_sp -= sizeof (void *);
- * (void **) utcb->activation_handler_sp = utcb;
+ utcb->vg.activation_handler_sp -= sizeof (void *);
+ * (void **) utcb->vg.activation_handler_sp = utcb;
/* And a medium-sized alternate stack. */
@@ -829,8 +830,8 @@ hurd_activation_state_alloc (addr_t thread, struct vg_utcb **utcbp)
utcb->alternate_stack = a;
- utcb->activation_handler_ip = (uintptr_t) &hurd_activation_handler_entry;
- utcb->activation_handler_end = (uintptr_t) &hurd_activation_handler_end;
+ utcb->vg.activation_handler_ip = (uintptr_t) &hurd_activation_handler_entry;
+ utcb->vg.activation_handler_end = (uintptr_t) &hurd_activation_handler_end;
utcb->exception_buffer = hurd_message_buffer_alloc_long ();
utcb->extant_message = NULL;
@@ -841,7 +842,7 @@ hurd_activation_state_alloc (addr_t thread, struct vg_utcb **utcbp)
debug (5, "Activation area: %p-%p; utcb: %p; stack: %p; alt stack: %p",
(void *) activation_area_base,
(void *) activation_area_base + ACTIVATION_AREA_SIZE - 1,
- utcb, (void *) utcb->activation_handler_sp, utcb->alternate_stack);
+ utcb, (void *) utcb->vg.activation_handler_sp, utcb->alternate_stack);
/* Unblock the exception handler messenger. */
@@ -880,7 +881,7 @@ hurd_activation_state_alloc (addr_t thread, struct vg_utcb **utcbp)
}
void
-hurd_activation_state_free (struct vg_utcb *utcb)
+hurd_activation_state_free (struct hurd_utcb *utcb)
{
assert (utcb->canary0 == UTCB_CANARY0);
assert (utcb->canary1 == UTCB_CANARY1);
@@ -902,7 +903,7 @@ hurd_activation_state_free (struct vg_utcb *utcb)
in. */
addr_t pages[ACTIVATION_AREA_SIZE / PAGESIZE];
memcpy (pages,
- utcb->activation_handler_sp + sizeof (uintptr_t),
+ (void *) utcb->vg.activation_handler_sp + sizeof (uintptr_t),
sizeof (addr_t) * ACTIVATION_AREA_SIZE / PAGESIZE);
int i;
diff --git a/libhurd-mm/ia32-exception-entry.S b/libhurd-mm/ia32-exception-entry.S
index c7f0b8c..f4212bf 100644
--- a/libhurd-mm/ia32-exception-entry.S
+++ b/libhurd-mm/ia32-exception-entry.S
@@ -26,7 +26,7 @@
#define UTCB_MODE (0*4)
#define UTCB_SAVED_IP (1*4)
#define UTCB_SAVED_SP (2*4)
-#define UTCB_ACTIVATION_FRAME_STACK (3*4)
+#define UTCB_ACTIVATION_FRAME_STACK (512 + 0*4)
/* The bits of the mode word. */
#define ACTIVATED_MODE_BIT 0
diff --git a/libhurd-mm/madvise.c b/libhurd-mm/madvise.c
index 529c2be..853226d 100644
--- a/libhurd-mm/madvise.c
+++ b/libhurd-mm/madvise.c
@@ -19,7 +19,7 @@
<http://www.gnu.org/licenses/>. */
#include <hurd/stddef.h>
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
#include <hurd/as.h>
#include <hurd/storage.h>
#include <hurd/anonymous.h>
diff --git a/libhurd-mm/map.h b/libhurd-mm/map.h
index 382a6e9..206b392 100644
--- a/libhurd-mm/map.h
+++ b/libhurd-mm/map.h
@@ -22,7 +22,7 @@
#define _HURD_MAP_H
#include <hurd/btree.h>
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
#include <hurd/mutex.h>
#include <hurd/as.h>
#include <stdint.h>
diff --git a/libhurd-mm/message-buffer.h b/libhurd-mm/message-buffer.h
index 21e44b4..0c35b27 100644
--- a/libhurd-mm/message-buffer.h
+++ b/libhurd-mm/message-buffer.h
@@ -23,7 +23,7 @@
# include <stdint.h>
# include <stdbool.h>
-# include <hurd/addr.h>
+# include <viengoos/addr.h>
/* Forward. */
struct vg_message;
diff --git a/libhurd-mm/mm-init.c b/libhurd-mm/mm-init.c
index ea12898..caf362e 100644
--- a/libhurd-mm/mm-init.c
+++ b/libhurd-mm/mm-init.c
@@ -25,6 +25,7 @@
#include <hurd/startup.h>
#include <hurd/exceptions.h>
+#include <hurd/thread.h>
#ifdef i386
#include <hurd/pager.h>
@@ -87,7 +88,7 @@ mm_init (addr_t activity)
assert (a == (void *) (fault_addr & ~(PAGESIZE - 1)));
assert (count == 1);
- struct vg_utcb *utcb = hurd_utcb ();
+ struct hurd_utcb *utcb = hurd_utcb ();
struct activation_frame *activation_frame = utcb->activation_stack;
debug (4, "Fault at %p (ip: %p, sp: %p, eax: %p, "
"ebx: %p, ecx: %p, edx: %p, edi: %p, esi: %p, ebp: %p, "
diff --git a/libhurd-mm/mm.h b/libhurd-mm/mm.h
index 52b7ed8..8baace8 100644
--- a/libhurd-mm/mm.h
+++ b/libhurd-mm/mm.h
@@ -22,7 +22,7 @@
#ifndef HURD_MM_MM_H
#define HURD_MM_MM_H
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
/* Set to one by mm_init just before returning. */
extern int mm_init_done;
diff --git a/libhurd-mm/mmap.c b/libhurd-mm/mmap.c
index 3535ce2..bda87cf 100644
--- a/libhurd-mm/mmap.c
+++ b/libhurd-mm/mmap.c
@@ -20,7 +20,7 @@
#include <hurd/stddef.h>
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
#include <hurd/as.h>
#include <hurd/storage.h>
#include <hurd/anonymous.h>
diff --git a/libhurd-mm/mprotect.c b/libhurd-mm/mprotect.c
index 10cf1de..e80d08c 100644
--- a/libhurd-mm/mprotect.c
+++ b/libhurd-mm/mprotect.c
@@ -19,7 +19,7 @@
<http://www.gnu.org/licenses/>. */
#include <hurd/stddef.h>
-#include <hurd/addr.h>
+#include <viengoos/addr.h>
#include <hurd/as.h>
#include <hurd/storage.h>
#include <hurd/anonymous.h>
diff --git a/libhurd-mm/storage.c b/libhurd-mm/storage.c
index 3f774e1..8079036 100644
--- a/libhurd-mm/storage.c
+++ b/libhurd-mm/storage.c
@@ -23,10 +23,10 @@
#include <hurd/stddef.h>
#include <hurd/btree.h>
#include <hurd/slab.h>
-#include <hurd/addr.h>
-#include <hurd/folio.h>
+#include <viengoos/addr.h>
+#include <viengoos/folio.h>
#include <hurd/startup.h>
-#include <hurd/rm.h>
+#include <viengoos/misc.h>
#include <hurd/mutex.h>
#include <backtrace.h>
diff --git a/libhurd-mm/storage.h b/libhurd-mm/storage.h
index 887f477..c7b4f66 100644
--- a/libhurd-mm/storage.h
+++ b/libhurd-mm/storage.h
@@ -22,8 +22,8 @@
#ifndef _HURD_STORAGE_H
#define _HURD_STORAGE_H
-#include <hurd/addr.h>
-#include <hurd/cap.h>
+#include <viengoos/addr.h>
+#include <viengoos/cap.h>
enum storage_expectancy
{