mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-24 20:32:58 +00:00
Add simpler method for relocating functions to RAM. (#21804)
This commit is contained in:
parent
0fcd13f552
commit
3a5e4253fc
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)
|
#if !defined(PACKED)
|
||||||
# define PACKED __attribute__((__packed__))
|
# define PACKED __attribute__((__packed__))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if __has_include("_util.h")
|
||||||
|
# include "_util.h" /* Include the platform's _util.h */
|
||||||
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user