initial support for a commpage, which is a chunk of memory in high kernel space with user readonly permissions.

The first use is to let the kernel decide what the preferred syscall mechanism is at boot time and copy the
appropriate user space code there. Can be used for routines the kernel can decide best how to use (memcpy, some
timing routines, etc).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20161 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Travis Geiselbrecht
2007-02-19 00:32:44 +00:00
parent badc7b674e
commit 1cbf8f4b3c
7 changed files with 143 additions and 2 deletions
+23
View File
@@ -0,0 +1,23 @@
/*
* Copyright 2007, Travis Geiselbrecht. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef __OS_KERNEL_ARCH_x86_COMMPAGE_H
#define __OS_KERNEL_ARCH_x86_COMMPAGE_H
/* some systemwide commpage constants, used in the kernel and libroot */
/* be careful what you put here, this file is included from assembly */
#define COMMPAGE_ENTRY_MAGIC 0
#define COMMPAGE_ENTRY_VERSION 1
#define COMMPAGE_ENTRY_SYSCALL 2
#define USER_COMMPAGE_ADDR (0xffff0000)
#define COMMPAGE_SIZE (0x8000)
#define TABLE_ENTRIES 64
#define COMMPAGE_SIGNATURE 'COMM'
#define COMMPAGE_VERSION 1
#endif