-
-check_cpu_subtype (cpu_subtype)
- cpu_subtype_t cpu_subtype;
-{
- struct machine_slot *ms = &machine_slot[cpu_number()];
-
- switch (ms->cpu_subtype) {
- case CPU_SUBTYPE_386:
- if (cpu_subtype == CPU_SUBTYPE_386)
- return (TRUE);
- break;
-
- case CPU_SUBTYPE_486:
- case CPU_SUBTYPE_486SX:
- if ( cpu_subtype == CPU_SUBTYPE_486 ||
- cpu_subtype == CPU_SUBTYPE_486SX ||
- cpu_subtype == CPU_SUBTYPE_386 )
- return (TRUE);
- break;
-
- case CPU_SUBTYPE_586:
- if ( cpu_subtype == CPU_SUBTYPE_586 ||
- cpu_subtype == CPU_SUBTYPE_486 ||
- cpu_subtype == CPU_SUBTYPE_486SX ||
- cpu_subtype == CPU_SUBTYPE_386 )
- return (TRUE);
- break;
-
- default:
- if ( CPU_SUBTYPE_INTEL_MODEL(cpu_subtype) ==
- CPU_SUBTYPE_INTEL_MODEL_ALL) {
- if ( CPU_SUBTYPE_INTEL_FAMILY(ms->cpu_subtype) >=
- CPU_SUBTYPE_INTEL_FAMILY(cpu_subtype))
- return (TRUE);
- }
- else {
- if ( ms->cpu_subtype == cpu_subtype)
- return (TRUE);
- }
- break;
- }
-
- return (FALSE);
-}