feat: implement core initialization and local APIC setup
This commit is contained in:
parent
ada1859910
commit
beb7fb38ae
19 changed files with 747 additions and 41 deletions
|
|
@ -33,6 +33,26 @@ constexpr duration_t operator*(uint64_t scalar, duration_t duration) {
|
|||
return duration_t{duration.timer_count * scalar};
|
||||
}
|
||||
|
||||
constexpr bool operator==(duration_t left, duration_t right) {
|
||||
return left.timer_count == right.timer_count;
|
||||
}
|
||||
|
||||
constexpr bool operator<(duration_t left, duration_t right) {
|
||||
return left.timer_count < right.timer_count;
|
||||
}
|
||||
|
||||
constexpr bool operator<=(duration_t left, duration_t right) {
|
||||
return left.timer_count <= right.timer_count;
|
||||
}
|
||||
|
||||
constexpr bool operator>(duration_t left, duration_t right) {
|
||||
return left.timer_count > right.timer_count;
|
||||
}
|
||||
|
||||
constexpr bool operator>=(duration_t left, duration_t right) {
|
||||
return left.timer_count >= right.timer_count;
|
||||
}
|
||||
|
||||
constexpr timestamp_t operator+(timestamp_t timestamp, duration_t duration) {
|
||||
return timestamp_t{timestamp.timer_count + duration.timer_count};
|
||||
}
|
||||
|
|
@ -62,9 +82,4 @@ void busyWait(duration_t duration);
|
|||
|
||||
timestamp_t now();
|
||||
|
||||
// TODO: when dynamic allocation and lists are available
|
||||
// struct Timer {};
|
||||
//
|
||||
// Timer getCoreTimerInstance();
|
||||
|
||||
} // namespace apic
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue