Skip to main content

Module asm

Module asm 

Source
Expand description

Wrapper functions for assembly instructions.

Functions§

clean_dcache_range_to_pou
Cleans a data cache range to the point of unification.
dcache_line_size_from_ctr
Reads the data cache line size from CTR_EL0 and returns it in bytes.
disable_irqs
Makes the current CPU to ignore interrupts.
enable_fp
Enable FP/SIMD instructions by setting the FPEN field in CPACR_EL1.
enable_irqs
Allows the current CPU to respond to interrupts.
flush_dcache_line
Cleans and invalidates the data cache line that covers the given address.
flush_icache_all
Flushes the entire instruction cache.
flush_tlb
Flushes the TLB.
halt
Halt the current CPU.
icache_line_size_from_ctr
Reads the instruction cache line size from CTR_EL0 and returns it in bytes.
irqs_enabled
Returns whether the current CPU is allowed to respond to interrupts.
read_kernel_page_table
Reads the current page table root register for kernel space (TTBR1_EL1).
read_thread_pointer
Reads the thread pointer of the current CPU (TPIDR_EL0).
read_user_page_table
Reads the current page table root register for user space (TTBR0_EL1).
user_copyuspace
Copies data from source to destination, where addresses may be in user space. Equivalent to memcpy.
wait_for_irqs
Relaxes the current CPU and waits for interrupts.
write_exception_vector_base
Writes exception vector base address register (VBAR_EL1).
write_kernel_page_table
Writes the register to update the current page table root for kernel space (TTBR1_EL1).
write_thread_pointer
Writes the thread pointer of the current CPU (TPIDR_EL0).
write_user_page_table
Writes the register to update the current page table root for user space (TTBR1_EL0). When the “arm-el2” feature is enabled, for user-mode programs, virtualization is completely transparent to them, so there is no need to modify