mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2025-04-18 17:44:18 +03:00
Also replace 'This file is a part of' by 'This file is part of' for consistency git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@5147 4407c894-4637-0410-b4f5-ada5f102cad1
33 lines
759 B
C
33 lines
759 B
C
/**
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
|
* This file is part of the mingw-w64 runtime package.
|
|
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
*/
|
|
|
|
#include <intrin.h>
|
|
|
|
/* Register sizes are different between 32/64 bit mode.
|
|
* So we have to do this for _WIN64 and _WIN32 seperatly.
|
|
*/
|
|
|
|
#ifdef _WIN64
|
|
unsigned __int64 __readcr3(void)
|
|
{
|
|
unsigned __int64 value;
|
|
__asm__ __volatile__ (
|
|
"mov %%cr3, %[value]"
|
|
: [value] "=q" (value));
|
|
return value;
|
|
}
|
|
#else
|
|
unsigned long __readcr3(void)
|
|
{
|
|
unsigned long value;
|
|
__asm__ __volatile__ (
|
|
"mov %%cr3, %[value]"
|
|
: [value] "=q" (value));
|
|
return value;
|
|
}
|
|
#endif
|
|
|