Commit graph

103 commits

Author SHA1 Message Date
leper
15a4c813d6 Add support for AArch64 (ARM64). Patch by tbm. Fixes #3345.
This was SVN commit r16899.
2015-07-30 19:52:55 +00:00
Ykkrosh
e06a7b37d8 Convert debug_printf to take UTF-8 strings instead of wchar_t.
This fixes the problem where passing a non-ASCII string to
debug_printf(L"%hs", s) caused vswprintf_s to fail on Linux (because it
doesn't know what encoding the char* is meant to have). Now debug
messages will remain as UTF-8 until they reach the OS.

Fixes #3021.

This was SVN commit r16332.
2015-02-14 01:45:13 +00:00
historic_bruno
6334ee3f8b Reverts 03eaf9b461 due to licensing issues (source/lib is MIT licensed) and replaces with compatible FreeBSD/clang-based solution, patch by pstumpf. Refs #2675
This was SVN commit r15890.
2014-10-18 20:45:11 +00:00
historic_bruno
03eaf9b461 Fixes cpuid to work with i386 CPUs and PIE/PIC, based on old GCC cpuid.h source and patch by pstumpf, fixes #2675
This was SVN commit r15886.
2014-10-18 03:07:24 +00:00
historic_bruno
b1c081e36d Set svn:eol-style=native, fix some inconsistent line endings
This was SVN commit r14299.
2013-12-06 00:42:50 +00:00
janwas
c1dcbe4176 update TLB table
refs #2074

This was SVN commit r13741.
2013-08-23 06:42:48 +00:00
historic_bruno
0a0bd83cf0 Adds L4 cache detection for some new Haswell CPUs, fixes #2074
This was SVN commit r13736.
2013-08-21 23:18:35 +00:00
alpha123
93abbae435 Fix build issues on ARM. Patch by Josh. Fixes #2049.
This was SVN commit r13634.
2013-08-07 05:00:46 +00:00
Ykkrosh
20d23eb340 Sysdep code for Android/ARM
This was SVN commit r11075.
2012-02-15 15:40:31 +00:00
Ykkrosh
0ec4242962 Detect and fix printf signedness errors. Fixes #1086, #1087.
This was SVN commit r10846.
2012-01-01 16:43:10 +00:00
janwas
78ba79209d more minor fixes. rename uname.machine to x64 (less confusing than amd64)
This was SVN commit r10827.
2011-12-29 09:47:42 +00:00
janwas
0d05c96be2 [gcc] compile fix.
fixes #1074
thanks to Echelon9!

This was SVN commit r10816.
2011-12-27 18:56:20 +00:00
janwas
3537ae31d5 sync with work:
x86_x64: update MSR definitions to include model 2F (westmere ex);
update bus clock computation for sandy bridge; remove unused
cpu_Serialize; use namespace, add model names
mahaf: cope with stricter security for services/drivers
ApicId -> GetApicId, move to apic module
aken: add batch file to install driver (optional)

This was SVN commit r10815.
2011-12-27 14:12:31 +00:00
janwas
8ac994e4e6 sync with work: add and use NOTHROW; export file_system functions; throw Status from File ctor; add WARN_THROW equivalents of WARN_RETURN
This was SVN commit r10384.
2011-10-10 10:04:36 +00:00
janwas
a106b9da0b apic: avoid warning message for ancient single-core, non-HT processors. fixes #985
wvm: improve diagnostics if allocation failed

This was SVN commit r10374.
2011-10-08 16:53:57 +00:00
janwas
0d708b31b4 avoid rare init-order bug when SRAT ACPI table is available AND APIC IDs are NOT
move APIC-related code to separate file, with its own initialization to
avoid circular dependency
fixes #976

This was SVN commit r10315.
2011-09-24 19:47:13 +00:00
historic_bruno
153357f640 Replaces architecture-dependent cpuid function with inline GCC assembly. Should fix #670 by eliminating nasm dependency.
This was SVN commit r9891.
2011-07-21 01:44:29 +00:00
janwas
15df4aa4be OS X fix: if os_cpu_ClockFrequency reports an unknown/invalid value, measure the frequency instead; also avoid reporting invalid freqs in system_info
This was SVN commit r9886.
2011-07-20 08:10:36 +00:00
historic_bruno
8da2640f5e Fixes no-PCH build
This was SVN commit r9883.
2011-07-19 09:00:15 +00:00
janwas
0d23e3f333 post-alpha sync with work.
debug stack trace fixes, remove more asm, change CONTINUE/OK scheme to
OK/ALL_COMPLETE, fix tests

This was SVN commit r9871.
2011-07-18 09:21:56 +00:00
janwas
2d9e473483 fix for non-contiguous APIC IDs within a single package (happens on recent Intel CPUs)
This was SVN commit r9870.
2011-07-18 08:08:06 +00:00
janwas
dd054c8d97 acpi: fix cast error (caught by runtime check)
x86_x64: simplify MSC version check

This was SVN commit r9846.
2011-07-16 17:27:07 +00:00
Ykkrosh
a4637c25d0 Fix no-PCH builds
This was SVN commit r9786.
2011-07-08 15:07:08 +00:00
janwas
034881d30c sync with work. simplify wnuma, refactor+fix topology (bugs: APIC IDs array didn't correspond to OS processor number; couldn't handle noncontiguous APIC ID field values)
This was SVN commit r9580.
2011-05-30 13:00:20 +00:00
janwas
7523894760 ENSURE(0) -> DEBUG_WARN_ERR(ERR::LOGIC) (a bit smaller, and more descriptive)
This was SVN commit r9423.
2011-05-04 12:10:17 +00:00
janwas
cccd6849a7 cleanup (requires update-workspaces)
lib_errors.cpp: replace with status.cpp, adapt to needs at work
wutil: fix runtime warning reported via feedback box
config: merge CONFIG_PARANOIA and !CONFIG_FINAL into
CONFIG_ENABLE_CHECKS
add openmp, pointer_typedefs.h

This was SVN commit r9410.
2011-05-03 12:38:42 +00:00
janwas
0720025073 cleanup
reduce dependency on PCH. move KiB constants to alignment, ARRAY_SIZE to
code_annotation.h.
move glext_funcs.h to external_libraries/glext_funcs.h, move part of
ogl.h to external_libraries/opengl.h
remove unused saturating arithmetic functions

This was SVN commit r9363.
2011-04-30 13:22:46 +00:00
janwas
4663ac0fe7 split debug_assert into ENSURE and ASSERT as discussed in a previous meeting.
the old debug_assert always ran and tested the expression, which slows
down release builds. wrapping them in #ifndef NDEBUG is clumsy. the new
ASSERT behaves like assert and ENSURE like the old debug_assert. Let's
change any time-critical but not-super-important ENSURE to ASSERT to
speed up release builds. (already done in bits.h and unique_range.h)

This was SVN commit r9362.
2011-04-30 13:01:45 +00:00
janwas
6c915291cc cleanup (requires update-workspaces):
major refactor of wfilesystem - remove gotos and workaround for FAT file
times
replace more round_up of constants with Align<>
remove old unused allocators (STL aligned, matrix, some shared_ptr)
move allocator utils into separate headers.
remove lockfree, wterminal
avoid testing __cplusplus

This was SVN commit r9361.
2011-04-30 12:34:28 +00:00
Ykkrosh
b35d3a5e3d __cpuidex was added in VC2008 SP1, so don't use it if pre-SP1
This was SVN commit r9284.
2011-04-19 23:23:16 +00:00
Ykkrosh
c59f7bcb8f Fix Clang warning ("operands of ? are integers of different signs")
This was SVN commit r9214.
2011-04-09 00:07:21 +00:00
janwas
dcde67038f ICC compile fixes (VC's overload resolution is apparently quite different)
This was SVN commit r9169.
2011-04-05 17:45:47 +00:00
janwas
d5b3201bfe noted while checking MSR prerequisites that the previous HasNehalem is inaccurate. PLATFORM_INFO is also supported by newer processors (e.g. Sandy Bridge), whereas UNCORE_* are tied to Nehalem and Westmere => split up HasNehalem into HasPlatformInfo and HasUncore. (the latter has been replaced by a "system agent" in newer designs)
refs #754

This was SVN commit r9136.
2011-03-31 21:30:42 +00:00
janwas
9a22dc1351 warning fixes
This was SVN commit r9088.
2011-03-21 11:55:49 +00:00
Ykkrosh
44e1a863e1 Fix cache detection assertion failure
This was SVN commit r9085.
2011-03-19 15:16:14 +00:00
Ykkrosh
0af8cdc54a Fix likely cache table typos, based on Intel Software Developer's Manual.
This was SVN commit r9084.
2011-03-19 15:03:25 +00:00
janwas
fb499ff0d0 further refactoring of new cache detect code
- add invariant - level/type are always valid, numEntries indicates
whether the cache is actually present and not disabled
- handle pseudo-descriptors 0xF0 and F1 (avoids warning)

This was SVN commit r9083.
2011-03-19 12:48:56 +00:00
Ykkrosh
89b7b6b52d Avoid divide-by-zero on AMDs with missing caches
This was SVN commit r9081.
2011-03-18 19:48:54 +00:00
Ykkrosh
22a651bb86 Fix assertion failure when no L3 cache.
Fix typo.

This was SVN commit r9078.
2011-03-18 18:42:10 +00:00
janwas
5b91e2d7ab move cache detection into separate file.
add support for CPUID.2 cache descriptors (many Bothans died to bring us
this information)
simplify the API - use one structure to describe cache and TLB; only one
accessor for both.

HWDetect: version change, since dtlbs and itlbs are no longer
distinguished

fixes #752

This was SVN commit r9074.
2011-03-18 16:44:03 +00:00
Ykkrosh
d3929b6af1 Actually, delete the cpuid() inline asm entirely since it still causes various problems in various compilers
This was SVN commit r9024.
2011-03-05 14:11:57 +00:00
Ykkrosh
712a92caa1 Save PIC register in cpuid() to fix "can't find a register in class 'BREG'" error in some versions of GCC
This was SVN commit r9023.
2011-03-05 13:53:02 +00:00
janwas
bb562ce179 fixes:
avoid reporting a (not-present) third-level cache for Athlon X2 that
don't have one
add better documentation of cache information
ensure we're running on the same CPU while retrieving cache/TLB
descriptors
wgfx: always check all known graphics driver names (more robust in the
face of changing gfx_card strings), correct the intel driver name

This was SVN commit r8991.
2011-02-26 19:22:02 +00:00
janwas
4e8c305c6e sync with work - export app_hooks_update; add boost replacement FileExists and FileSize; avoid conflict with stdint.h;
remove asm rintf implementation (sse is faster); avoid the need for an
external 64-bit asm file with vc2008/vc2010; allow arbitrarily long
command line args

This was SVN commit r8985.
2011-02-25 16:31:42 +00:00
Ykkrosh
ceb4bc9b94 Report more hardware details
This was SVN commit r8937.
2011-02-19 00:39:32 +00:00
janwas
ddba0cc311 topology.cpp: fix for non-contiguous APIC IDs
wcpu: avoid undefined shift right on 64-CPU systems (caught via
assertion)
filesystem: add wrename
path_util: add std::wstring variants of common boost::filesystem
routines

This was SVN commit r8922.
2011-02-15 10:38:11 +00:00
janwas
fd46b9e370 fixes/improvements from work:
file/wfilesystem: avoid error dialog when opening a file that doesn't
exist
precompiled/pch_warnings: remove push/pop that prevented our warning
disables to applying to other code. update comments
topology: refactor APIC field access and add support for constructing
APIC ID from topology
waio: add file_attribute_normal
wsysdep: slightly safer sys_generate_random_bytes implementation

This was SVN commit r8869.
2011-01-28 13:40:07 +00:00
janwas
ba2a9d7af3 improvements from work: [update-workspaces required]
- split precompiled.h into several headers (simplifies reuse)
- enable additional warnings not in W4
- split ErrorReaction into ErrorReactionInternal - clarifies which
values can actually be returned by debug_DisplayError
- wsdl: slightly safer HDC usage via CS_OWNDC, avoid dipping into DC
cache via ValidateRect instead of BeginPaint; remove unused thread
create
- StdDeserializer - wasn't including byte_order => BYTE_ORDER was
undefined
- wsysdep: clean up error dialog message handling

This was SVN commit r8828.
2010-12-09 11:16:21 +00:00
Ykkrosh
404f7d4caa Don't put 64-bit OS X code in the 32-bit-only file. Do put it in the 64-bit-only file.
This was SVN commit r8687.
2010-11-24 17:08:00 +00:00
Ykkrosh
94dca529b1 Fix OS X build errors
This was SVN commit r8684.
2010-11-23 19:20:03 +00:00