diff options
Diffstat (limited to 'platforms')
-rw-r--r-- | platforms/arm_atsam/_util.h | 9 | ||||
-rw-r--r-- | platforms/avr/_util.h | 10 | ||||
-rw-r--r-- | platforms/chibios/_util.h | 9 |
3 files changed, 28 insertions, 0 deletions
diff --git a/platforms/arm_atsam/_util.h b/platforms/arm_atsam/_util.h new file mode 100644 index 0000000000..38aa9f4472 --- /dev/null +++ b/platforms/arm_atsam/_util.h @@ -0,0 +1,9 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define RESIDENT_IN_RAM(funcname) __attribute__((section(".ramfunc." #funcname), noinline)) funcname + +#if __has_include_next("_util.h") +# include_next "_util.h" +#endif diff --git a/platforms/avr/_util.h b/platforms/avr/_util.h new file mode 100644 index 0000000000..81b94896ba --- /dev/null +++ b/platforms/avr/_util.h @@ -0,0 +1,10 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +// AVR can't actually run anything from RAM, so just no-op the define. +#define RESIDENT_IN_RAM(funcname) funcname + +#if __has_include_next("_util.h") +# include_next "_util.h" +#endif diff --git a/platforms/chibios/_util.h b/platforms/chibios/_util.h new file mode 100644 index 0000000000..64eb62fa15 --- /dev/null +++ b/platforms/chibios/_util.h @@ -0,0 +1,9 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define RESIDENT_IN_RAM(funcname) __attribute__((section(".ram0_init." #funcname), noinline)) funcname + +#if __has_include_next("_util.h") +# include_next "_util.h" +#endif |