* uname.cc (uname): Use `wProcessorLevel' unless OS sets it wrong.
Use `dwProcessorType' then instead. * wincap.cc: Set flag has_valid_processorlevel appropriately. * wincap.h: Add flag has_valid_processorlevel.
This commit is contained in:
parent
48372ea6f1
commit
271a33443c
|
@ -1,3 +1,10 @@
|
|||
2001-10-15 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* uname.cc (uname): Use `wProcessorLevel' unless OS sets it wrong.
|
||||
Use `dwProcessorType' then instead.
|
||||
* wincap.cc: Set flag has_valid_processorlevel appropriately.
|
||||
* wincap.h: Add flag has_valid_processorlevel.
|
||||
|
||||
2001-10-14 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* dtable.cc (dtable::build_fhandler_from_name): Use PC_FULL to
|
||||
|
|
|
@ -57,13 +57,23 @@ uname (struct utsname *name)
|
|||
{
|
||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||
unsigned int ptype;
|
||||
if (sysinfo.dwProcessorType < 3) /* Shouldn't happen. */
|
||||
ptype = 3;
|
||||
else if (sysinfo.dwProcessorType > 9) /* P4 */
|
||||
ptype = 6;
|
||||
if (wincap.has_valid_processorlevel ())
|
||||
{
|
||||
if (sysinfo.wProcessorLevel < 3) /* Shouldn't happen. */
|
||||
ptype = 3;
|
||||
else if (sysinfo.wProcessorLevel > 9) /* P4 */
|
||||
ptype = 6;
|
||||
else
|
||||
ptype = sysinfo.wProcessorLevel;
|
||||
}
|
||||
else
|
||||
ptype = sysinfo.dwProcessorType;
|
||||
|
||||
{
|
||||
if (sysinfo.dwProcessorType == PROCESSOR_INTEL_386 ||
|
||||
sysinfo.dwProcessorType == PROCESSOR_INTEL_486)
|
||||
ptype = sysinfo.dwProcessorType / 100;
|
||||
else
|
||||
ptype = PROCESSOR_INTEL_PENTIUM / 100;
|
||||
}
|
||||
__small_sprintf (name->machine, "i%d86", ptype);
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_ALPHA:
|
||||
|
|
|
@ -43,6 +43,7 @@ static NO_COPY wincaps wincap_unknown = {
|
|||
has_negative_pids:false,
|
||||
has_unreliable_pipes:false,
|
||||
has_try_enter_critical_section:false,
|
||||
has_valid_processorlevel:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_95 = {
|
||||
|
@ -77,6 +78,7 @@ static NO_COPY wincaps wincap_95 = {
|
|||
has_negative_pids:true,
|
||||
has_unreliable_pipes:true,
|
||||
has_try_enter_critical_section:false,
|
||||
has_valid_processorlevel:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_95osr2 = {
|
||||
|
@ -111,6 +113,7 @@ static NO_COPY wincaps wincap_95osr2 = {
|
|||
has_negative_pids:true,
|
||||
has_unreliable_pipes:true,
|
||||
has_try_enter_critical_section:false,
|
||||
has_valid_processorlevel:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_98 = {
|
||||
|
@ -145,6 +148,7 @@ static NO_COPY wincaps wincap_98 = {
|
|||
has_negative_pids:true,
|
||||
has_unreliable_pipes:true,
|
||||
has_try_enter_critical_section:false,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_98se = {
|
||||
|
@ -179,6 +183,7 @@ static NO_COPY wincaps wincap_98se = {
|
|||
has_negative_pids:true,
|
||||
has_unreliable_pipes:true,
|
||||
has_try_enter_critical_section:false,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_me = {
|
||||
|
@ -213,6 +218,7 @@ static NO_COPY wincaps wincap_me = {
|
|||
has_negative_pids:true,
|
||||
has_unreliable_pipes:true,
|
||||
has_try_enter_critical_section:false,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt3 = {
|
||||
|
@ -247,6 +253,7 @@ static NO_COPY wincaps wincap_nt3 = {
|
|||
has_negative_pids:false,
|
||||
has_unreliable_pipes:false,
|
||||
has_try_enter_critical_section:false,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt4 = {
|
||||
|
@ -281,6 +288,7 @@ static NO_COPY wincaps wincap_nt4 = {
|
|||
has_negative_pids:false,
|
||||
has_unreliable_pipes:false,
|
||||
has_try_enter_critical_section:true,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt4sp4 = {
|
||||
|
@ -315,6 +323,7 @@ static NO_COPY wincaps wincap_nt4sp4 = {
|
|||
has_negative_pids:false,
|
||||
has_unreliable_pipes:false,
|
||||
has_try_enter_critical_section:true,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_2000 = {
|
||||
|
@ -349,6 +358,7 @@ static NO_COPY wincaps wincap_2000 = {
|
|||
has_negative_pids:false,
|
||||
has_unreliable_pipes:false,
|
||||
has_try_enter_critical_section:true,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_xp = {
|
||||
|
@ -383,6 +393,7 @@ static NO_COPY wincaps wincap_xp = {
|
|||
has_negative_pids:false,
|
||||
has_unreliable_pipes:false,
|
||||
has_try_enter_critical_section:true,
|
||||
has_valid_processorlevel:true,
|
||||
};
|
||||
|
||||
wincapc NO_COPY wincap;
|
||||
|
|
|
@ -44,6 +44,7 @@ struct wincaps
|
|||
unsigned has_negative_pids : 1;
|
||||
unsigned has_unreliable_pipes : 1;
|
||||
unsigned has_try_enter_critical_section : 1;
|
||||
unsigned has_valid_processorlevel : 1;
|
||||
};
|
||||
|
||||
class wincapc
|
||||
|
@ -92,6 +93,7 @@ public:
|
|||
bool IMPLEMENT (has_negative_pids)
|
||||
bool IMPLEMENT (has_unreliable_pipes)
|
||||
bool IMPLEMENT (has_try_enter_critical_section)
|
||||
bool IMPLEMENT (has_valid_processorlevel)
|
||||
|
||||
#undef IMPLEMENT
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue