/
githubmirror
/
ipxe
Обзор
Документация
Войти
/
githubmirror
/
ipxe
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/arch/riscv/include/bits/virt_offset.h
34 строки
912 B
Michael Brown
[build] Mark core riscv64 files as permitted for UEFI Secure Boot
21 май 2026, 16:42
21 май 2026, 16:42
63eeb23
Код
Авторство
О чём код?
#ifndef _BITS_VIRT_OFFSET_H #define _BITS_VIRT_OFFSET_H /** @file * * RISCV-specific virtual address offset * * We use the thread pointer register (tp) to hold the virtual address * offset, so that virtual-to-physical address translations work as * expected even while we are executing directly from read-only memory * (and so cannot store a value in a global virt_offset variable). * */ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); FILE_SECBOOT ( PERMITTED ); /** * Read virtual address offset held in thread pointer register * * @ret virt_offset Virtual address offset */ static inline __attribute__ (( const, always_inline )) unsigned long tp_virt_offset ( void ) { register unsigned long tp asm ( "tp" ); __asm__ ( "" : "=r" ( tp ) ); return tp; } /** Always read thread pointer register to get virtual address offset */ #define virt_offset tp_virt_offset() #endif /* _BITS_VIRT_OFFSET_H */