# big refactoring in CPU-specific code, fix for dual core vs. HT detection

all cpu-related stuff is now defined in cpu.h (with cpu_ prefix and
fully encapsulated). fix quite brittle core/HT unit/package detection.
implement mkdir on VC8, where it is deprecated
add strdup on MacOSX
move ia32 code into separate subdir. functions implemented in asm are
called ia32_asm_*.
add some unix versions of sysdep functions (cannot test them)
timer: fix for amd64 linux

This was SVN commit r4995.
This commit is contained in:
janwas
2007-04-25 18:19:35 +00:00
parent cf21949640
commit 623e649acb
63 changed files with 1085 additions and 805 deletions
+3 -3
View File
@@ -76,7 +76,7 @@ CSocketAddress::CSocketAddress(int port, ESocketProtocol proto)
break;
case IPv6:
m_Union.m_IPv6.sin6_family=PF_INET6;
memcpy2(&m_Union.m_IPv6.sin6_addr, &in6addr_any, sizeof(in6addr_any));
cpu_memcpy(&m_Union.m_IPv6.sin6_addr, &in6addr_any, sizeof(in6addr_any));
m_Union.m_IPv6.sin6_port=htons(port);
break;
default:
@@ -96,7 +96,7 @@ CSocketAddress CSocketAddress::Loopback(int port, ESocketProtocol proto)
break;
case IPv6:
ret.m_Union.m_IPv6.sin6_family=PF_INET6;
memcpy2(&ret.m_Union.m_IPv6.sin6_addr, &in6addr_loopback, sizeof(in6addr_loopback));
cpu_memcpy(&ret.m_Union.m_IPv6.sin6_addr, &in6addr_loopback, sizeof(in6addr_loopback));
ret.m_Union.m_IPv6.sin6_port=htons(port);
break;
default:
@@ -114,7 +114,7 @@ PS_RESULT CSocketAddress::Resolve(const char *name, int port, CSocketAddress &ad
if (res == 0)
{
if (ai->ai_addrlen < sizeof(addr.m_Union))
memcpy2(&addr.m_Union, ai->ai_addr, ai->ai_addrlen);
cpu_memcpy(&addr.m_Union, ai->ai_addr, ai->ai_addrlen);
switch (addr.m_Union.m_Family)
{
case IPv4: