tcm.h (8dd06ef34b6e2f41b29fbf5fc1663780f2524285) tcm.h (33def8498fdde180023444b08e12b72a9efed41d)
1/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef __ASM_CSKY_TCM_H
4#define __ASM_CSKY_TCM_H
5
6#ifndef CONFIG_HAVE_TCM
7#error "You should not be including tcm.h unless you have a TCM!"
8#endif
9
10#include <linux/compiler.h>
11
12/* Tag variables with this */
1/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef __ASM_CSKY_TCM_H
4#define __ASM_CSKY_TCM_H
5
6#ifndef CONFIG_HAVE_TCM
7#error "You should not be including tcm.h unless you have a TCM!"
8#endif
9
10#include <linux/compiler.h>
11
12/* Tag variables with this */
13#define __tcmdata __section(.tcm.data)
13#define __tcmdata __section(".tcm.data")
14/* Tag constants with this */
14/* Tag constants with this */
15#define __tcmconst __section(.tcm.rodata)
15#define __tcmconst __section(".tcm.rodata")
16/* Tag functions inside TCM called from outside TCM with this */
16/* Tag functions inside TCM called from outside TCM with this */
17#define __tcmfunc __section(.tcm.text) noinline
17#define __tcmfunc __section(".tcm.text") noinline
18/* Tag function inside TCM called from inside TCM with this */
18/* Tag function inside TCM called from inside TCM with this */
19#define __tcmlocalfunc __section(.tcm.text)
19#define __tcmlocalfunc __section(".tcm.text")
20
21void *tcm_alloc(size_t len);
22void tcm_free(void *addr, size_t len);
23
24#endif
20
21void *tcm_alloc(size_t len);
22void tcm_free(void *addr, size_t len);
23
24#endif