mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-02-07 06:44:18 +00:00
Changes included (and more): 1. Dynamic RAM merge 2. Real-time page scan and allocation 3. Cache compression 4. Real-time IRQ checks 5. Dynamic I/O allocation for Java heap 6. Java page migration 7. Contiguous memory allocation 8. Idle pages tracking 9. Per CPU RAM usage tracking 10. ARM NEON scalar multiplication library 11. NEON/ARMv8 crypto extensions 12. NEON SHA, Blake, RIPEMD crypto extensions 13. Parallel NEON crypto engine for multi-algo based CPU stress reduction
35 lines
844 B
C
35 lines
844 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_INIT_H
|
|
#define _LINUX_INIT_H
|
|
|
|
#include <linux/compiler.h>
|
|
#include <asm/export.h>
|
|
#include <linux/memory_hotplug.h>
|
|
|
|
#define __section(section) __attribute__((__section__(section)))
|
|
|
|
#define __initconst
|
|
#define __meminit
|
|
#define __meminitdata
|
|
#define __refdata
|
|
#define __initdata
|
|
|
|
struct obs_kernel_param {
|
|
const char *str;
|
|
int (*setup_func)(char *st);
|
|
int early;
|
|
};
|
|
|
|
#define __setup_param(str, unique_id, fn, early) \
|
|
static const char __setup_str_##unique_id[] __initconst \
|
|
__aligned(1) = str; \
|
|
static struct obs_kernel_param __setup_##unique_id \
|
|
__used __section(".init.setup") \
|
|
__aligned(__alignof__(struct obs_kernel_param)) = \
|
|
{ __setup_str_##unique_id, fn, early }
|
|
|
|
#define early_param(str, fn) \
|
|
__setup_param(str, fn, fn, 1)
|
|
|
|
#endif
|