summaryrefslogtreecommitdiff
path: root/deva/deva.h
diff options
context:
space:
mode:
authormarcus <marcus>2004-10-28 04:12:17 +0000
committermarcus <marcus>2004-10-28 04:12:17 +0000
commit363029cb103fc990e4696333f41e34bb9b7e9fd0 (patch)
tree0da4268e175269b1c08b04a0a0df15be3b15831b /deva/deva.h
parent9eea2a623a79c362ed88954c68fce82361758150 (diff)
2004-10-28 Marcus Brinkmann <marcus@gnu.org>
* deva: New directory. * configure.ac (AC_CONFIG_FILES): Add deva/Makefile. * Makefile.am (SUBDIRS): Add deva. deva/ 2004-10-28 Marcus Brinkmann <marcus@gnu.org> * Initial check-in. physmem/ 2004-10-28 Marcus Brinkmann <marcus@gnu.org> * physmem.c (get_task_cap): Removed. (bootstrap_final): New function. (main): Call bootstrap_final, not get_task_cap. task/ 2004-10-28 Marcus Brinkmann <marcus@gnu.org> * task.c (bootstrap_final): New function. (main): Call bootstrap_final. wortel/ 2004-10-28 Marcus Brinkmann <marcus@gnu.org> * wortel.h: Include <stdbool.h>. (WORTEL_MSG_GET_TASK_CAP): Renamed into WORTEL_MSG_BOOTSTRAP_FINAL. (WORTEL_MSG_GET_DEVA_CAP_REQUEST, WORTEL_MSG_GET_DEVA_CAP_REPLY): Define new macros. (wortel_get_deva_cap_request, wortel_get_deva_cap_reply, wortel_bootstrap_final): New functions. (wortel_get_task_cap): Removed. * wortel.c (start_elf, start_deva): New functions. (start_task): Bunch of it is now in start_elf. (serve_bootstrap_requests): Handle WORTEL_MSG_BOOTSTRAP_FINAL, not WORTEL_MSG_GET_TASK_CAP. Implement support for starting deva. Implement WORTEL_MSG_GET_DEVA_CAP_REQUEST and WORTEL_MSG_GET_DEVA_CAP_REPLY. * wortel-intern.h (struct wortel_module): New member deva.
Diffstat (limited to 'deva/deva.h')
-rw-r--r--deva/deva.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/deva/deva.h b/deva/deva.h
new file mode 100644
index 0000000..6b52fb5
--- /dev/null
+++ b/deva/deva.h
@@ -0,0 +1,52 @@
+/* deva.h - Generic definitions.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+ Written by Marcus Brinkmann.
+
+ This file is part of the GNU Hurd.
+
+ The GNU Hurd is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2, or (at
+ your option) any later version.
+
+ The GNU Hurd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */
+
+#include <errno.h>
+
+#include <l4.h>
+#include <hurd/cap-server.h>
+
+#include "output.h"
+
+
+/* The program name. */
+extern char program_name[];
+
+#define BUG_ADDRESS "<bug-hurd@gnu.org>"
+
+int main (int argc, char *argv[]);
+
+
+/* The following function must be defined by the architecture
+ dependent code. */
+
+/* Switch execution transparently to thread TO. The thread FROM,
+ which must be the current thread, will be halted. */
+void switch_thread (l4_thread_id_t from, l4_thread_id_t to);
+
+
+/* Deva objects. */
+
+/* Initialize the task class subsystem. */
+error_t deva_class_init ();
+
+/* Allocate a new deva object. The object returned is locked and has
+ one reference. */
+error_t deva_alloc (hurd_cap_obj_t *r_obj);