e85e399fd7
This patch introduces randomization of commpage position. From now on commpage table contains offsets from begining to of the commpage to the particular commpage entry. Similary addresses of symbols in ELF memory image "commpage" are just offsets from the begining of the commpage. This patch also updates KDL so that commpage entries are recognized and shown correctly in stack trace. An update of Debugger is yet to be done.
34 lines
786 B
C
34 lines
786 B
C
/*
|
|
* Copyright 2007, Travis Geiselbrecht. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _KERNEL_COMMPAGE_H
|
|
#define _KERNEL_COMMPAGE_H
|
|
|
|
#include <image.h>
|
|
#include <SupportDefs.h>
|
|
|
|
#include <commpage_defs.h>
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
status_t commpage_init(void);
|
|
status_t commpage_init_post_cpus(void);
|
|
void* allocate_commpage_entry(int entry, size_t size);
|
|
addr_t fill_commpage_entry(int entry, const void* copyFrom, size_t size);
|
|
image_id get_commpage_image();
|
|
area_id clone_commpage_area(team_id team, void** address);
|
|
|
|
// implemented in the architecture specific part
|
|
status_t arch_commpage_init(void);
|
|
status_t arch_commpage_init_post_cpus(void);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif /* _KERNEL_COMMPAGE_H */
|