| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
As more archs and detection methods are used, the file was getting
a little hard to follow.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is kind of an artificial change to appease Coverity but maybe
a bit cleaner in any case.
The issue is Coverity detects the throw in the case of PDP endian
being found at runtime, and assumes it might happen. And since
OS::get_processor_timestamp calls CPUID on x86 (to check for RDTSC),
it might throw. And so on up the call chain until it detect a throw
escaping from ~Timer_Scope in speed.cpp, which would crash.
However I do not have a PDP-endian x86 around to confirm this ... :)
|
|
|
|
| |
The macro has to be on its own line or Doxygen gets confused.
|
|
|
|
| |
Tested on qemu-aarch64
|
|
|
|
|
|
|
|
|
| |
Deprecates CPUID::print, mainly to avoid use of ostream in utils.
Main reasoning is some platforms do not have streams at all. If all uses of
streams are for operator<< and operator>> overloads, these can be guarded by a
future BOTAN_HAS_CPP_STREAMS system-feature flag. But when ostreams are
required to use the API (as here), that is not possible.
|
|
|
|
|
|
| |
Tested for ARM only under qemu-aarch64, need to check hardware before merging.
Changes x86 CPUID bitmasks which does break ABI for 2.1, no API implications.
|
|
|
|
|
|
| |
Renames a couple of functions for somewhat better name consistency,
eg make_u32bit becomes make_uint32. The old typedefs remain for now
since probably lots of application code uses them.
|
|
|
|
|
| |
Having a runtime endian test to verify against the build setting is
useful.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Avoids needing to include simd_32 to see if SIMD is disabled. This
had caused a build break on Linux x86-32 as SSE2 must be enabled on
a per-file basis.
|
|
|
|
| |
Remove global PRNG.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Transforms and BlockCiphers. Registration for all types is done at
startup but is very cheap as just a std::function and a std::map entry
are created, no actual objects are created until needed. This is a
huge improvement over Algorithm_Factory which used T::clone() as the
function and thus kept a prototype object of each type in memory.
Replace existing lookup mechanisms for ciphers, AEADs, and compression
to use the transform lookup. The existing Engine framework remains in
place for BlockCipher, but the engines now just call to the registry
instead of having hardcoded lookups.
s/Transformation/Transform/ with typedefs for compatability.
Remove lib/selftest code (for runtime selftesting): not the right approach.
|
|
|
|
|
| |
Update license header line to specify the terms and refer to the file,
neither of which it included before.
|
|
|