mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-11-10 15:16:34 +00:00
29358dc593
Before the MMU is up, all reads/writes must be aligned; the optimized memcpy implementation does not guarantee all reads/writes it performs are aligned. This commit splits the libc impl to be separate for kernel/kernel_ldr, and so now only kernel will use the optimized impl. This is safe, as the MMU is brought up before kernel begins executing.
31 lines
619 B
C
31 lines
619 B
C
/*
|
|
* Macros for asm code.
|
|
*
|
|
* Copyright (c) 2019, Arm Limited.
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef _ASMDEFS_H
|
|
#define _ASMDEFS_H
|
|
|
|
#define ENTRY_ALIGN(name, alignment) \
|
|
.global name; \
|
|
.type name,%function; \
|
|
.align alignment; \
|
|
name: \
|
|
.cfi_startproc;
|
|
|
|
#define ENTRY(name) ENTRY_ALIGN(name, 6)
|
|
|
|
#define ENTRY_ALIAS(name) \
|
|
.global name; \
|
|
.type name,%function; \
|
|
name:
|
|
|
|
#define END(name) \
|
|
.cfi_endproc; \
|
|
.size name, .-name;
|
|
|
|
#define L(l) .L ## l
|
|
|
|
#endif
|