Go to the source code of this file.
◆ ArchInitializeContext()
Definition at line 85 of file arch.c.
#define BL_APPLICATION_FLAG_CONVERTED_FROM_EFI
__INTRIN_INLINE void __writecr4(unsigned int Data)
BL_LIBRARY_PARAMETERS BlpLibraryParameters
return STATUS_NOT_SUPPORTED
#define BL_CONTEXT_PAGING_ON
__INTRIN_INLINE unsigned long __readcr4(void)
ULONG BlpApplicationFlags
#define BL_CONTEXT_INTERRUPTS_ON
Referenced by ArchInitializeContexts().
◆ ArchInitializeContexts()
Definition at line 122 of file arch.c.
BL_ARCH_CONTEXT FirmwareExecutionContext
NTSTATUS ArchInitializeContext(_In_ PBL_ARCH_CONTEXT Context)
VOID ArchSwitchContext(_In_ PBL_ARCH_CONTEXT NewContext, _In_ PBL_ARCH_CONTEXT OldContext)
BL_ARCH_CONTEXT ApplicationExecutionContext
#define NT_SUCCESS(StatCode)
PBL_ARCH_CONTEXT CurrentExecutionContext
Referenced by BlpArchInitialize().
◆ ArchSwitchContext()
Definition at line 39 of file arch.c.
__INTRIN_INLINE void __writecr4(unsigned int Data)
void __cdecl _enable(void)
#define BL_CONTEXT_PAGING_ON
__INTRIN_INLINE void __writecr0(unsigned int Data)
_In_ FLT_SET_CONTEXT_OPERATION _In_ PFLT_CONTEXT _Outptr_opt_result_maybenull_ PFLT_CONTEXT * OldContext
__INTRIN_INLINE unsigned long __readcr0(void)
__INTRIN_INLINE unsigned long __readcr4(void)
#define BL_CONTEXT_INTERRUPTS_ON
_In_ FLT_SET_CONTEXT_OPERATION _In_ PFLT_CONTEXT NewContext
void __cdecl _disable(void)
Referenced by ArchInitializeContexts(), and BlpArchSwitchContext().
◆ ArchTrapNoProcess()
Definition at line 23 of file arch.c.
30 #elif defined (_MSC_VER) 33 #error wtf are you using __asm__("\t.globl GetPhys\n" "GetPhys:\t\n" "mflr 0\n\t" "stwu 0,-16(1)\n\t" "mfmsr 5\n\t" "andi. 6,5,0xffef\n\t" "mtmsr 6\n\t" "isync\n\t" "sync\n\t" "lwz 3,0(3)\n\t" "mtmsr 5\n\t" "isync\n\t" "sync\n\t" "lwz 0,0(1)\n\t" "addi 1,1,16\n\t" "mtlr 0\n\t" "blr")
Referenced by BlpArchInitialize().
◆ BlpArchEnableTranslation()
Definition at line 189 of file arch.c.
__INTRIN_INLINE void __writecr4(unsigned int Data)
#define BL_CONTEXT_PAGING_ON
__INTRIN_INLINE void __writecr0(unsigned int Data)
__INTRIN_INLINE unsigned long __readcr0(void)
__INTRIN_INLINE unsigned long __readcr4(void)
#define BL_CONTEXT_INTERRUPTS_ON
PBL_ARCH_CONTEXT CurrentExecutionContext
struct tagContext Context
void __cdecl _disable(void)
Referenced by MmDefInitializeTranslation().
◆ BlpArchInitialize()
Definition at line 235 of file arch.c.
256 __asm__ __volatile__ (
"mov %%cs,%0\n\t" :
"=r" (CodeSegment));
257 #elif defined (_MSC_VER) 258 _asm { mov CodeSegment,
cs };
260 #error wtf are you using 269 IdtBase[0x2C].
Selector = CodeSegment;
270 IdtBase[0x2C].
Access = 0x8E00
u;
273 IdtBase[0x2D].
Selector = CodeSegment;
274 IdtBase[0x2D].
Access = 0x8E00
u;
282 #if defined(__GNUC__) 283 __asm__ __volatile__ (
"fninit");
284 #elif defined (_MSC_VER) 287 #error wtf are you using 293 if ((
__readmsr(0x10) >> 32) & 0xFFC00000)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
__INTRIN_INLINE void __lidt(void *Source)
__asm__("\t.globl GetPhys\n" "GetPhys:\t\n" "mflr 0\n\t" "stwu 0,-16(1)\n\t" "mfmsr 5\n\t" "andi. 6,5,0xffef\n\t" "mtmsr 6\n\t" "isync\n\t" "sync\n\t" "lwz 3,0(3)\n\t" "mtmsr 5\n\t" "isync\n\t" "sync\n\t" "lwz 0,0(1)\n\t" "addi 1,1,16\n\t" "mtlr 0\n\t" "blr")
__INTRIN_INLINE void __sidt(void *Destination)
NTSTATUS ArchInitializeContexts(VOID)
PPC_QUAL unsigned long long __readmsr()
PPC_QUAL void __writemsr(const unsigned long Value)
VOID DECLSPEC_NORETURN ArchTrapNoProcess(VOID)
◆ BlpArchSwitchContext()
Definition at line 166 of file arch.c.
BL_ARCH_CONTEXT FirmwareExecutionContext
VOID ArchSwitchContext(_In_ PBL_ARCH_CONTEXT NewContext, _In_ PBL_ARCH_CONTEXT OldContext)
BL_ARCH_CONTEXT ApplicationExecutionContext
PBL_ARCH_CONTEXT CurrentExecutionContext
struct tagContext Context
◆ ApplicationExecutionContext
◆ CurrentExecutionContext
◆ FirmwareExecutionContext