TSS는 x86-64의 레지스터 값을 저장하지 않기 때문에 컨텍스트 전환이 발생할 때 이러한 레지스터의 값은 어떻게 저장됩니까?
답변1
범용 레지스터는 대부분 스택에 보관됩니다.PUSH_REGS
그리고struct pt_regs
. 실제 용도를 찾으려면 PUSH_AND_CLEAR_REGS
및 를 찾으십시오 POP_REGS
.
나머지 CPU 상태는 다음 위치에 저장됩니다.thread_struct
.
Linux는 가능할 때마다 TSS를 방지합니다(초기 32비트 x86 버전에서는 이를 사용했지만 오래 전에 변경되었습니다).