Add simpler method for relocating functions to RAM. (#21804)
This commit is contained in:
parent
0fcd13f552
commit
3a5e4253fc
4 changed files with 32 additions and 0 deletions
9
platforms/arm_atsam/_util.h
Normal file
9
platforms/arm_atsam/_util.h
Normal file
|
@ -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
|
10
platforms/avr/_util.h
Normal file
10
platforms/avr/_util.h
Normal file
|
@ -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
|
9
platforms/chibios/_util.h
Normal file
9
platforms/chibios/_util.h
Normal file
|
@ -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
|
|
@ -50,3 +50,7 @@
|
|||
#if !defined(PACKED)
|
||||
# define PACKED __attribute__((__packed__))
|
||||
#endif
|
||||
|
||||
#if __has_include("_util.h")
|
||||
# include "_util.h" /* Include the platform's _util.h */
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue