2008-01-11 03:36:44 +03:00
|
|
|
/*
|
|
|
|
* Copyright 2007, Travis Geiselbrecht. All rights reserved.
|
|
|
|
* Distributed under the terms of the MIT License.
|
|
|
|
*/
|
|
|
|
#ifndef _KERNEL_COMMPAGE_H
|
|
|
|
#define _KERNEL_COMMPAGE_H
|
|
|
|
|
2008-09-24 18:41:42 +04:00
|
|
|
#include <image.h>
|
2008-05-14 07:55:16 +04:00
|
|
|
#include <SupportDefs.h>
|
2008-01-11 03:36:44 +03:00
|
|
|
|
2008-05-14 07:55:16 +04:00
|
|
|
#include <commpage_defs.h>
|
2008-01-11 03:36:44 +03:00
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
status_t commpage_init(void);
|
2009-06-24 17:53:58 +04:00
|
|
|
status_t commpage_init_post_cpus(void);
|
2008-01-11 03:36:44 +03:00
|
|
|
void* allocate_commpage_entry(int entry, size_t size);
|
2013-03-17 23:49:58 +04:00
|
|
|
addr_t fill_commpage_entry(int entry, const void* copyFrom, size_t size);
|
2008-09-24 18:41:42 +04:00
|
|
|
image_id get_commpage_image();
|
2013-03-17 23:49:58 +04:00
|
|
|
area_id clone_commpage_area(team_id team, void** address);
|
2008-01-11 03:36:44 +03:00
|
|
|
|
2009-06-24 17:53:58 +04:00
|
|
|
// implemented in the architecture specific part
|
2008-01-11 03:36:44 +03:00
|
|
|
status_t arch_commpage_init(void);
|
2009-06-24 17:53:58 +04:00
|
|
|
status_t arch_commpage_init_post_cpus(void);
|
2008-01-11 03:36:44 +03:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
} // extern "C"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _KERNEL_COMMPAGE_H */
|