mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-01-30 23:02:18 +00:00
2a709f28fa
* 0day explit mitigation * Memory corruption prevention * Privilege escalation prevention * Buffer over flow prevention * File System corruption defense * Thread escape prevention This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
38 lines
1.0 KiB
C
38 lines
1.0 KiB
C
/******************************************************************************
|
|
* Xen balloon functionality
|
|
*/
|
|
|
|
#define RETRY_UNLIMITED 0
|
|
|
|
struct balloon_stats {
|
|
/* We aim for 'current allocation' == 'target allocation'. */
|
|
unsigned long current_pages;
|
|
unsigned long target_pages;
|
|
unsigned long target_unpopulated;
|
|
/* Number of pages in high- and low-memory balloons. */
|
|
unsigned long balloon_low;
|
|
unsigned long balloon_high;
|
|
unsigned long total_pages;
|
|
unsigned long schedule_delay;
|
|
unsigned long max_schedule_delay;
|
|
unsigned long retry_count;
|
|
unsigned long max_retry_count;
|
|
};
|
|
|
|
extern struct balloon_stats balloon_stats;
|
|
|
|
void balloon_set_new_target(unsigned long target);
|
|
|
|
int alloc_xenballooned_pages(int nr_pages, struct page **pages);
|
|
void free_xenballooned_pages(int nr_pages, struct page **pages);
|
|
|
|
struct device;
|
|
#ifdef CONFIG_XEN_SELFBALLOONING
|
|
extern int register_xen_selfballooning(struct device *dev);
|
|
#else
|
|
static inline int register_xen_selfballooning(struct device *dev)
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
#endif
|