mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-25 01:47:10 +06: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