4 * This file is part of OpenTTD.
5 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
6 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
10 /** @file cpu.h Functions related to CPU specific instructions. */
16 * Get the tick counter from the CPU (high precision timing).
22 * Get the CPUID information from the CPU.
23 * @param info The retrieved info. All zeros on architectures without CPUID.
24 * @param type The information this instruction should retrieve.
26 void ottd_cpuid(int info
[4], int type
);
29 * Check whether the current CPU has the given flag.
30 * @param type The type to be passing to cpuid (usually 1).
31 * @param index The index in the returned info array.
32 * @param bit The bit index that needs to be set.
33 * @return The value of the bit, or false when there is no CPUID or the type is not available.
35 bool HasCPUIDFlag(uint type
, uint index
, uint bit
);