Clubcos
0.0.0
Clubcos - Clubc Operating System
메인 페이지
데이타 구조
파일들
파일 목록
전역
모두
데이타 구조
파일들
함수
변수
타입정의
열거형 타입
열거형 멤버
매크로
페이지들
cpuid.h
이 파일의 문서화 페이지로 가기
1
// Copyright (c) 2014, 임경현 (dlarudgus20)
2
// All rights reserved.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are met:
6
//
7
// * Redistributions of source code must retain the above copyright notice, this
8
// list of conditions and the following disclaimer.
9
//
10
// * Redistributions in binary form must reproduce the above copyright notice,
11
// this list of conditions and the following disclaimer in the documentation
12
// and/or other materials provided with the distribution.
13
//
14
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
18
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
32
#ifndef CPUID_H_
33
#define CPUID_H_
34
35
enum
36
{
37
CPUID_CODE_FEATURES
38
};
39
40
enum
41
{
42
CPUID_FEATURE_EDX_SSE
= 1 << 25
43
};
44
48
typedef
struct
tagCpuidResult
49
{
50
uint32_t
eax
,
ebx
,
ecx
,
edx
;
51
}
CpuidResult
;
52
54
static
inline
void
ckAsmCpuid(uint32_t code,
CpuidResult
*cs)
55
{
56
__asm__
57
(
58
"cpuid"
59
:
"=a"
(cs->
eax
),
"=b"
(cs->
ebx
),
"=c"
(cs->
ecx
),
"=d"
(cs->
edx
)
60
:
"a"
(code)
61
);
62
}
63
64
#endif
/* CPUID_H_ */
tagCpuidResult::eax
uint32_t eax
Definition:
cpuid.h:50
CpuidResult
struct tagCpuidResult CpuidResult
cpuid 명령어의 결과인 eax, ebx, ecx, edx레지스터를 나타내는 구조체입니다.
tagCpuidResult::ebx
uint32_t ebx
Definition:
cpuid.h:50
CPUID_FEATURE_EDX_SSE
Definition:
cpuid.h:42
tagCpuidResult
cpuid 명령어의 결과인 eax, ebx, ecx, edx레지스터를 나타내는 구조체입니다.
Definition:
cpuid.h:48
tagCpuidResult::ecx
uint32_t ecx
Definition:
cpuid.h:50
tagCpuidResult::edx
uint32_t edx
Definition:
cpuid.h:50
CPUID_CODE_FEATURES
Definition:
cpuid.h:37
src
cpuid.h
생성시간 : 화 7월 29 2014 17:32:19, 프로젝트명 : Clubcos, 생성자 :
1.8.7