mirror of
				https://github.com/Atmosphere-NX/Atmosphere.git
				synced 2025-10-31 03:05:48 +01:00 
			
		
		
		
	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.
		
			
				
	
	
		
			32 lines
		
	
	
		
			619 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 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
 |