1
0
원본 프로젝트 : xt-sys/exectos

Implement HlpGetCpuApicId() routine

This commit is contained in:
2024-07-22 23:31:20 +02:00
부모 2c5b680426
커밋 2e7793dc2b
3개의 변경된 파일28개의 추가작업 그리고 0개의 파일을 삭제

파일 보기

@@ -133,6 +133,26 @@ HlpCheckX2ApicSupport(VOID)
return TRUE; return TRUE;
} }
/**
* Gets the local APIC ID of the current processor.
*
* @return This routine returns the current processor's local APIC ID.
*
* @since XT 1.0
*/
XTAPI
ULONG
HlpGetCpuApicId(VOID)
{
ULONG ApicId;
/* Read APIC ID register */
ApicId = HlReadApicRegister(APIC_ID);
/* Return logical CPU ID depending on current APIC mode */
return (HlpApicMode == APIC_MODE_COMPAT) ? ((ApicId & 0xFFFFFFFF) >> APIC_XAPIC_LDR_SHIFT) : ApicId;
}
/** /**
* Allows an APIC spurious interrupts to end up. * Allows an APIC spurious interrupts to end up.
* *

파일 보기

@@ -34,6 +34,10 @@ XTAPI
BOOLEAN BOOLEAN
HlpCheckX2ApicSupport(VOID); HlpCheckX2ApicSupport(VOID);
XTAPI
ULONG
HlpGetCpuApicId(VOID);
XTCDECL XTCDECL
VOID VOID
HlpHandleApicSpuriousService(VOID); HlpHandleApicSpuriousService(VOID);

파일 보기

@@ -34,6 +34,10 @@ XTAPI
BOOLEAN BOOLEAN
HlpCheckX2ApicSupport(VOID); HlpCheckX2ApicSupport(VOID);
XTAPI
ULONG
HlpGetCpuApicId(VOID);
XTCDECL XTCDECL
VOID VOID
HlpHandleApicSpuriousService(VOID); HlpHandleApicSpuriousService(VOID);