mirror of
https://review.haiku-os.org/haiku
synced 2025-01-31 10:47:14 +01:00
bb2808d615
While debugging some problems on the HaikuPorts build VMs, mmlr noticed their clocks had an alarming amount of drift. This prompted an investigation into TSC calibration mechanisms, and the discovery that there is a VM-specific one which we did not implement. This mechanism is more accurate than counting cycles on VMs where cycles can be "stolen" (the probable cause of the aforementioned clock drift.) Tested in VMware (works out of the box) and on QEMU/KVM (may need TSC frequency specified or a host with invariant TSC.) Change-Id: I4ccfdb2e4e2621404ec9026e7106c02bf96faf18 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7063 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
31 lines
517 B
C
31 lines
517 B
C
/*
|
|
* Copyright 2004-2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef BOOT_ARCH_CPU_H
|
|
#define BOOT_ARCH_CPU_H
|
|
|
|
|
|
#include <SupportDefs.h>
|
|
#include <boot/vfs.h>
|
|
|
|
#include "../../../arch/x86/arch_cpuasm.h"
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
void determine_cpu_conversion_factor(uint8 channel);
|
|
status_t boot_arch_cpu_init(void);
|
|
void arch_ucode_load(BootVolume& volume);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif /* BOOT_ARCH_CPU_H */
|