db9b70ee54
* x86 uses a commpage with 32-bit addresses, incompatible with the one used for x86_64. For this reason, a compatibility commpage is needed to support a 32-bit userland on x86_64. * define ADDRESS_TYPE as a macro for addr_t (default) or uint32 (for the 32-bit commpage). * team_create_thread_start_internal() will use clone_commpage_area() with KERNEL_USER_DATA_BASE or clone_commpage_compat_area() with KERNEL_USER32_DATA_BASE, to setup the correct commpage. * real_time_clock (in compatibility mode) also updates the compatibility commpage with real time data. Change-Id: I61605077ce0beabab4439ef54edd1eae26f26fd2
30 lines
813 B
C
30 lines
813 B
C
/*
|
|
* Copyright 2018 Haiku Inc. All Rights Reserved.
|
|
* Copyright 2007, Travis Geiselbrecht. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _SYSTEM_COMMPAGE_DEFS_H
|
|
#define _SYSTEM_COMMPAGE_DEFS_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_REAL_TIME_DATA 2
|
|
#define COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC 3
|
|
|
|
#define COMMPAGE_SIZE (0x8000)
|
|
#define COMMPAGE_TABLE_ENTRIES 64
|
|
|
|
#define COMMPAGE_SIGNATURE 'COMM'
|
|
#define COMMPAGE_VERSION 1
|
|
|
|
#ifdef COMMPAGE_COMPAT
|
|
#include <arch/x86/arch_commpage_defs.h>
|
|
#else
|
|
#include <arch_commpage_defs.h>
|
|
#endif
|
|
|
|
#endif /* _SYSTEM_COMMPAGE_DEFS_H */
|