relax fpu detection, and wow, it goes up to the boot menu !
(but there are lots of remaining stubs, like mmu) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23553 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -38,19 +38,22 @@ check_cpu_features()
|
|||||||
#warning M68K: TODO: probe ourselves, we shouldn't trust the TOS!
|
#warning M68K: TODO: probe ourselves, we shouldn't trust the TOS!
|
||||||
|
|
||||||
const tos_cookie *c;
|
const tos_cookie *c;
|
||||||
|
uint16 cpu_type, fpu_type, fpu_emul;
|
||||||
|
|
||||||
c = tos_find_cookie('_CPU');
|
c = tos_find_cookie('_CPU');
|
||||||
if (!c) {
|
if (!c) {
|
||||||
panic("can't get a cookie (_CPU)! Mum, I'm hungry!");
|
panic("can't get a cookie (_CPU)! Mum, I'm hungry!");
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
}
|
}
|
||||||
|
cpu_type = (uint16) c->ivalue;
|
||||||
|
|
||||||
dump_tos_cookies();
|
dump_tos_cookies();
|
||||||
|
|
||||||
#warning M68K: check for 020 + mmu
|
#warning M68K: check for 020 + mmu
|
||||||
if (c->ivalue < 30/*20*/)
|
if (cpu_type < 30/*20*/)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
|
|
||||||
gKernelArgs.arch_args.has_lpstop = (c->ivalue >= 60)?true:false;
|
gKernelArgs.arch_args.has_lpstop = (cpu_type >= 60)?true:false;
|
||||||
#warning M68K: add cpu type to kern args
|
#warning M68K: add cpu type to kern args
|
||||||
|
|
||||||
c = tos_find_cookie('_FPU');
|
c = tos_find_cookie('_FPU');
|
||||||
@@ -58,9 +61,11 @@ check_cpu_features()
|
|||||||
panic("can't get a cookie (_FPU)! Mum, I'm hungry!");
|
panic("can't get a cookie (_FPU)! Mum, I'm hungry!");
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
}
|
}
|
||||||
|
fpu_type = (uint16)(c->ivalue >> 16);
|
||||||
|
fpu_emul = (uint16)(c->ivalue);
|
||||||
|
|
||||||
#warning M68K: check for fpu in detail
|
#warning M68K: check for fpu in detail
|
||||||
if (c->ivalue < 2 || c->ivalue > 7) {
|
if (fpu_type < 2 || fpu_type > 9) {
|
||||||
panic("bad fpu");
|
panic("bad fpu");
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user