LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
cpu.h
Go to the documentation of this file.
1
#ifndef _CPU_H_INCLUDED
2
#define _CPU_H_INCLUDED
3
4
#include <
log.h
>
5
#include <stdint.h>
6
7
typedef
struct
{
8
uint64_t
r15
;
9
uint64_t
r14
;
10
uint64_t
r13
;
11
uint64_t
r12
;
12
uint64_t
r11
;
13
uint64_t
r10
;
14
uint64_t
r9
;
15
uint64_t
r8
;
16
uint64_t
rsi
;
17
uint64_t
rdi
;
18
uint64_t
rbp
;
19
uint64_t
rdx
;
20
uint64_t
rcx
;
21
uint64_t
rbx
;
22
uint64_t
rax
;
23
24
uint64_t
interrupt,
error_code
;
25
26
uint64_t
rip
;
27
uint64_t
cs
;
28
uint64_t
rflags
;
29
uint64_t
rsp
;
30
uint64_t
ss
;
31
}
cpu_state
;
32
33
#define DUMP_CPU(cpu) \
34
logd("cpudump", "<-- cut here [CPU DUMP START] ---->"); \
35
logd("cpudump", "%3s: 0x%016x %3s: 0x%016x %3s: 0x%016x %7s: 0x%016x", "RAX", cpu->rax, "RBX", cpu->rbx, "RCX", cpu->rcx, "RDX", cpu->rdx); \
36
logd("cpudump", "%3s: 0x%016x %3s: 0x%016x %3s: 0x%016x %7s: 0x%016x", "RSI", cpu->rsi, "RDI", cpu->rdi, "RBP", cpu->rbp, "RSP", cpu->rsp); \
37
logd("cpudump", "%3s: 0x%016x %3s: 0x%016x %3s: 0x%016x %7s: 0x%016x", "R8", cpu->r8, "R9", cpu->r9, "R10", cpu->r10, "R11", cpu->r11); \
38
logd("cpudump", "%3s: 0x%016x %3s: 0x%016x %3s: 0x%016x %7s: 0x%016x", "R12", cpu->r12, "R13", cpu->r13, "R14", cpu->r14, "R15", cpu->r15); \
39
logd("cpudump", "%3s: 0x%016x %3s: 0x%016x %3s: 0x%016x %7s: 0x%016x", "RIP", cpu->rip, "CS", cpu->cs, "SS", cpu->ss, "RFLAGS", cpu->rflags); \
40
logd("cpudump", "<-- cut here [CPU DUMP END] ---->"); \
41
42
#endif
uint64_t
unsigned long uint64_t
Definition
arch.h:14
cpu_state::rbx
uint64_t rbx
Definition
cpu.h:21
cpu_state::rdi
uint64_t rdi
Definition
cpu.h:17
cpu_state::r12
uint64_t r12
Definition
cpu.h:11
cpu_state::r11
uint64_t r11
Definition
cpu.h:12
cpu_state::r14
uint64_t r14
Definition
cpu.h:9
cpu_state::rdx
uint64_t rdx
Definition
cpu.h:19
cpu_state::cs
uint64_t cs
Definition
cpu.h:27
cpu_state::rsi
uint64_t rsi
Definition
cpu.h:16
cpu_state::r8
uint64_t r8
Definition
cpu.h:15
cpu_state::ss
uint64_t ss
Definition
cpu.h:30
cpu_state::rsp
uint64_t rsp
Definition
cpu.h:29
cpu_state::rip
uint64_t rip
Definition
cpu.h:26
cpu_state::r13
uint64_t r13
Definition
cpu.h:10
cpu_state::rax
uint64_t rax
Definition
cpu.h:22
cpu_state::rbp
uint64_t rbp
Definition
cpu.h:18
cpu_state::rcx
uint64_t rcx
Definition
cpu.h:20
cpu_state::rflags
uint64_t rflags
Definition
cpu.h:28
cpu_state::error_code
uint64_t error_code
Definition
cpu.h:24
cpu_state::r15
uint64_t r15
Definition
cpu.h:8
cpu_state::r10
uint64_t r10
Definition
cpu.h:13
cpu_state::r9
uint64_t r9
Definition
cpu.h:14
cpu_state
Definition
cpu.h:7
log.h
src
kernel
arch
amd64
cpu.h
Generated on Tue Apr 23 2024 20:41:16 for LF OS by
1.9.8