cpuid: avoid directly including x86 specifics
This commit is contained in:
parent
bb7be903b1
commit
c4a67c7fc9
20
cpuid.hpp
20
cpuid.hpp
@ -3,11 +3,12 @@
|
|||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*
|
*
|
||||||
* Copyright 2018 Danny Robson <danny@nerdcruft.net>
|
* Copyright 2018-2019 Danny Robson <danny@nerdcruft.net>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CRUFT_UTIL_CPUID_HPP
|
#pragma once
|
||||||
#define CRUFT_UTIL_CPUID_HPP
|
|
||||||
|
#include "platform.hpp"
|
||||||
|
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
|
|
||||||
@ -25,4 +26,17 @@ namespace cruft::cpu {
|
|||||||
operator<< (std::ostream&, const cruft::cpu::base&);
|
operator<< (std::ostream&, const cruft::cpu::base&);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(PROCESSOR_AMD64)
|
||||||
|
#include "cpuid_x86.hpp"
|
||||||
|
#else
|
||||||
|
#error "Unhandled architecture"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
namespace cruft::cpu {
|
||||||
|
#if defined(PROCESSOR_AMD64)
|
||||||
|
using native = x86;
|
||||||
|
#else
|
||||||
|
#error "Unhandled architecture"
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
@ -8,7 +8,11 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "cpuid.hpp"
|
#include "platform.hpp"
|
||||||
|
|
||||||
|
#if !defined(PROCESSOR_AMD64)
|
||||||
|
#error "Wrong architecture"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* Copyright 2018 Danny Robson <danny@nerdcruft.net>
|
* Copyright 2018 Danny Robson <danny@nerdcruft.net>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "cpuid_x86.hpp"
|
#include "cpuid.hpp"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
@ -14,5 +14,5 @@
|
|||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
std::cout << cruft::cpu::x86 {} << '\n';
|
std::cout << cruft::cpu::native {} << '\n';
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user