|
XenevaOS
|
#include <Hal/x86_64_cpu.h>#include <Hal/pcpu.h>#include <Hal/x86_64_gdt.h>#include <Hal/x86_64_idt.h>#include <Hal/x86_64_lowlevel.h>#include <Hal/apic.h>#include <Hal/x86_64_ap_init.h>#include <Mm/pmmngr.h>#include <Mm/vmmngr.h>#include <aucon.h>#include <string.h>#include <time.h>#include <Hal/serial.h>
Macros | |
| #define | CMOS_ADDRESS 0x70 |
| #define | CMOS_DATA 0x71 |
| #define | fromBCD(val) ((val / 16) * 10 + (val & 0xf)) |
| #define | SUBSECONDS_PER_SECOND 1000000 |
Enumerations | |
| enum | { CMOS_SECOND = 0 , CMOS_MINUTE = 2 , CMOS_HOUR = 4 , CMOS_DAY = 7 , CMOS_MONTH = 8 , CMOS_YEAR = 9 } |
Variables | |
| TSS * | _tss |
| bool | _fxsave = false |
| uint64_t | cpuMhz |
| uint64_t | tscBasisTiming |
| uint64_t | tscBasisTimingKhz |
| uint64_t | bootTime |
| bool | __ApStarted |
| #define CMOS_ADDRESS 0x70 |
| #define CMOS_DATA 0x71 |
| #define fromBCD | ( | val | ) | ((val / 16) * 10 + (val & 0xf)) |
| #define SUBSECONDS_PER_SECOND 1000000 |
| bool _ICRBusy | ( | ) |
| void CMOSDump | ( | uint16_t * | val | ) |
| uint64_t cpu_read_tsc | ( | ) |
| int isUpdateInProgress | ( | void | ) |
| uint64_t readCMOS | ( | void | ) |
| uint64_t secs_of_years | ( | int | years | ) |
| void syscall_entry | ( | ) |
| void x64_syscall_entry_compat | ( | ) |
| void x86_64_calculate_ticks | ( | uint64_t | milliseconds, |
| uint64_t | subsec, | ||
| uint64_t * | out_milliseconds, | ||
| uint64_t * | out_subsec | ||
| ) |
| uint64_t x86_64_cpu_get_mhz | ( | ) |
| void x86_64_cpu_initialize | ( | uint8_t | num_cpu | ) |
fixed address
| uint64_t x86_64_cpu_msi_address | ( | uint64_t * | data, |
| size_t | vector, | ||
| uint32_t | processor, | ||
| uint8_t | edge, | ||
| uint8_t | deassert | ||
| ) |
| void x86_64_enable_syscall_ext | ( | ) |
| TSS * x86_64_get_tss | ( | ) |
| int x86_64_gettimeofday | ( | timeval * | t | ) |
| void x86_64_hal_cpu_feature_enable | ( | ) |
| void x86_64_init_user | ( | size_t | bit | ) |
| void x86_64_init_user_ap | ( | size_t | bit | ) |
| void x86_64_initialise_syscall | ( | ) |
| bool x86_64_is_cpu_fxsave_supported | ( | ) |
| void x86_64_measure_cpu_speed | ( | ) |
| void x86_64_set_ap_start_bit | ( | bool | value | ) |
| void x86_64_udelay | ( | uint64_t | usec | ) |
| bool __ApStarted |
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| uint64_t bootTime |
| uint64_t cpuMhz |
| uint64_t tscBasisTiming |
| uint64_t tscBasisTimingKhz |