Commit Graph

1272 Commits

Author SHA1 Message Date
janwas a3812af176 smbios: avoid warning when no information is returned (happens on 32-bit XP)
This was SVN commit r9218.
2011-04-09 17:09:48 +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 d46a892a5d smbios: avoid displaying unknown maxError value; add enumerators for BIOS characteristics and extended characteristics
This was SVN commit r9207.
2011-04-08 07:10:31 +00:00
janwas 5b7dbe6bc9 smbios: more convenient interface that avoids having to check if the structures pointer is null (can still detect failure by checking whether all/guaranteed member pointers are zero)
This was SVN commit r9200.
2011-04-07 19:35:45 +00:00
janwas b5c6868ac2 smbios SystemSlot fix: add missing field, avoid displaying unknown device/function numbers
This was SVN commit r9199.
2011-04-07 19:28:24 +00:00
Ykkrosh aab98f90e0 Fix startup crash on non-Windows
This was SVN commit r9197.
2011-04-07 17:22:28 +00:00
Ykkrosh e1b9083c41 Fix probable OS X build error
This was SVN commit r9196.
2011-04-07 17:18:32 +00:00
janwas 99aa427ffa make use of SMBIOS information to detect CPU frequency and memory size
smbios fixes: also ignore max value (used by Dell BIOS to report invalid
MemoryDevice bit width); fix incorrect error check that caused 0 to be
returned on all but the first call; add implicit conversion operator to
allow using size without appending .value

This was SVN commit r9195.
2011-04-07 17:06:00 +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 1c2e410b7d final smbios improvements.
add comments
add support for bit flags
use wrapper classes and SFINAE instead of flags to detect enums / sizes
/ handles
avoid potential truncation of byte sizes
avoid displaying numeric_limits::min values ("unknown")

This was SVN commit r9168.
2011-04-05 17:14:18 +00:00
Ykkrosh d3ba9a24d3 Fix GCC build errors ("explicit template specialization cannot have a storage class",
"need 'typename' before 'static_assert_<...>::type' because
'static_assert_<...>' is a dependent scope").
Fixes #767.

This was SVN commit r9167.
2011-04-05 17:07:06 +00:00
janwas 3dbb29d665 smbios improvements: add specializations for bool/Handle (no longer requires a flag); omit empty/meaningless fields
convert remaining enumerators to ENUM, lowercase them to avoid conflicts
with macros, wrap them in struct to allow identical enumerator names

This was SVN commit r9165.
2011-04-05 09:52:57 +00:00
janwas f35da41a0c smbios: minor fixes, add partial support for displaying enumerator names, move visitors to .cpp, use pragma pack regardless of compiler
This was SVN commit r9163.
2011-04-04 17:44:36 +00:00
janwas 68bc0a5651 smbios: add support for stringizing the structures
This was SVN commit r9162.
2011-04-04 16:50:02 +00:00
janwas a2bad46f27 smbios fixes:
- memmove all bytes in the table, not just 8
- end pointer was off by 4
- add support for structures 8,10,22,26,27,28

This was SVN commit r9161.
2011-04-04 15:01:40 +00:00
Ykkrosh 0ddf2b0f34 Fix build on VC2008
This was SVN commit r9157.
2011-04-03 21:41:17 +00:00
janwas 231387d2da linux compile fix (explicit instantiation must be at namespace scope), adjust end pointer to match 8 bytes removed in workaround
This was SVN commit r9153.
2011-04-03 19:29:16 +00:00
janwas 2c72e1f364 (requires update-workspaces)
add initial SMBIOS implementation for retrieving system information
wacpi -> wfirmware (now also used to retrieve SMBIOS table)

This was SVN commit r9144.
2011-04-03 15:38:48 +00:00
janwas 6026330fce updated version of Aken that includes support for MSR and static validation (-> .c instead of .cpp)
closes #754 (please re-open if not)

This was SVN commit r9137.
2011-04-01 15:06:52 +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 c396997009 fixes from work: avoid potential 0-pointer dereference in freelist, also avoid branching in freelist functions via sentinel
wdll_main.h: avoid warning for DLLs using TLS
file_system_util.h: export functions

This was SVN commit r9128.
2011-03-28 12:28:29 +00:00
Ykkrosh 9193ba56f9 Build fixes and whatnot
This was SVN commit r9115.
2011-03-23 21:15:22 +00:00
janwas 1f7e8d7194 per discussion with Philip, remove STL_HASH_MAP etc. because they're ugly, rarely used and superseded by boost::unordered*
This was SVN commit r9111.
2011-03-23 16:56:27 +00:00
janwas 588bfa11bf remove unnecessary utf8 includes
This was SVN commit r9110.
2011-03-23 16:32:44 +00:00
janwas 0999ba0941 refactoring:
- simplify sys_get_executable_name interface - return OsPath directly,
rename to sys_ExecutablePathname
- add validation of path components in GetDirectoryEntries
- replace multiple calls to GetModuleFileNameW with
sys_ExecutablePathname
- lift nearly all MAX_PATH limitations (required at work)

This was SVN commit r9109.
2011-03-23 16:14:47 +00:00
janwas 64a02932e3 refactor headers: path_util -> path, native_path -> os_path, remove where unnecessary
This was SVN commit r9108.
2011-03-23 14:43:35 +00:00
janwas dcd192cb60 refactor path interface:
- use wrapper class instead of std::wstring (reduces mixing of
strings/paths; allows safe+easy join via operator/ and convenient
case-insensitive comparison via operator==, avoids NativePathFromString,
similar to boost::filesystem)
- NativePath -> OsPath
- add hash and To/FromJSVal for Path
- add TS_ASSERT_PATH_EQUALS
- replace _wfopen_s with sys_OpenFile
- remove obsolete SortFiles/Directories

This was SVN commit r9107.
2011-03-23 13:36:20 +00:00
Ykkrosh c4cd85bb98 Build fixes
This was SVN commit r9100.
2011-03-22 18:46:39 +00:00
Ykkrosh c0a105432e Use path types and conversions more consistently.
This was SVN commit r9094.
2011-03-21 22:59:00 +00:00
Ykkrosh 83271ec816 Fix build errors.
Fix VFS root directory failing IsDirectory, which breaks the search for
textures.xml.
Fix incompatible change to loose cache name determination.

This was SVN commit r9092.
2011-03-21 21:06:08 +00:00
janwas c3405e6f50 path improvements/fixes:
- replace more std::wstring with Native or VfsPath; wstring_from_utf8 ->
NativePathFromString
- replace sequences of Join(Path(), Basename+extension) with
ChangeExtension in wsdl, CacheLoader
- add Path::IsDirectory to replace .empty() / path_is_dir_sep(.back()).
also changed behavior to reflect the fact that "" is the VFS root
_directory_
- Path::Join now allows 2 identical path types (e.g. VfsPath) or one
char* literal (prevents inadvertently introducing non-safe characters).
to convert from wstring or wchar_t, use an explicit ctor (e.g.
VfsPath(wchar_t_string))

This was SVN commit r9091.
2011-03-21 19:54:08 +00:00
janwas 6d25329412 # towards locale-independent pathnames on Linux
c.f.
http://www.wildfiregames.com/forum/index.php?showtopic=14541&st=0&p=217250&#entry217250
and 2011-03-19 meeting

This was SVN commit r9090.
2011-03-21 17:53:13 +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
Ykkrosh ecbd0ae31b Fix Windows build.
Improve compatibility with GL1.3.

This was SVN commit r9077.
2011-03-18 18:07:18 +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
janwas a0a245d0ec sync with work. add u8_from_larger, sys_IsDebuggerPresent, wdll_main.h;
robustify waio file mode and remove a safety check (since
OVERLAPPED.Internal is documented to be subject to change)

This was SVN commit r9050.
2011-03-11 16:29:27 +00:00
Ykkrosh b4d9ab336b Simplify hiding of system cursor on non-Windows.
Fixes #683.

This was SVN commit r9038.
2011-03-06 00:48:26 +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
Ykkrosh 2229c10e05 Delete rint/rintf emulation for Windows, since it got broken (the tests fail) and we don't use it any more
This was SVN commit r9015.
2011-03-04 23:16:04 +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 567a698628 check all file names known to belong to a GPU's drivers instead of trying to rule out 32/64 bit variants
fixes #737

This was SVN commit r8990.
2011-02-26 17:10:09 +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 e370223d1d Fix register handle leak
This was SVN commit r8971.
2011-02-21 22:25:51 +00:00
Ykkrosh abe07e096a Build fix
This was SVN commit r8970.
2011-02-21 22:22:49 +00:00