Skip to the content.

H

← 전체 목차로 돌아가기


HLT

✅ Halt instruction. Traps to an external debugger and halts execution. Distinct from BRK (a software breakpoint the OS/debugger fields as an exception) - HLT is intended for use by external debug hardware/JTAG and behaves unpredictably without one attached, so it’s rarely used directly in normal kernel code.

✅ 정지 명령. 외부 디버거로 트랩되어 실행을 정지시킵니다. BRK(OS/디버거가 예외로 처리하는 소프트웨어 브레이크포인트)와는 다르게, HLT는 외부 디버그 하드웨어/JTAG용으로 설계되어 있어 그런 장비가 연결되지 않은 상태에서는 동작이 예측 불가능합니다. 그래서 일반 커널 코드에서 직접 쓰는 일은 드뭅니다.

Syntax

HLT #<imm16>

Example

HLT #0      // 외부 디버거가 붙어있을 때만 의미가 있음

🔗 Open Summary

HVC

✅ Hypervisor Call. Triggers a synchronous exception that’s routed to EL2 (the hypervisor), analogous to how SVC routes to EL1. Used by a guest OS to request a service from a hypervisor (e.g. in a virtualized Yeoji-style kernel).

✅ 하이퍼바이저 호출. SVC가 EL1로 예외를 보내는 것과 비슷하게, EL2(하이퍼바이저)로 향하는 동기 예외를 발생시킵니다. 게스트 OS가 하이퍼바이저에게 서비스를 요청할 때 사용합니다(가상화 환경에서 커널을 돌릴 때 등).

Syntax

HVC #<imm16>

Example

HVC #0      // EL2 하이퍼바이저에 서비스 요청

🔗 Open Summary**