diff options
| -rw-r--r-- | kernel/mp.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/kernel/mp.c b/kernel/mp.c index dece903..c8d42c7 100644 --- a/kernel/mp.c +++ b/kernel/mp.c @@ -150,11 +150,11 @@ void show_mp_conf(mp_config *addr) } -void show_mp_fps(mp_fps *addr) +bool show_mp_fps(mp_fps *addr) { - if(addr->length!=1)return; - if(addr->version!=1&&addr->version!=4)return; + if(addr->length!=1)return false; + if(addr->version!=1&&addr->version!=4)return false; char buf[]="XXXX"; uint32_t *buf_addr=buf; @@ -167,6 +167,8 @@ void show_mp_fps(mp_fps *addr) if(addr->features1!=0)panic(FOOLOS_MODULE_NAME,"Intel default config not supported yet!"); show_mp_conf(addr->conf); + + return true; } bool check_mp(uint8_t *addr) @@ -195,7 +197,7 @@ bool init_mp() if(check_mp(addr)) { // log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Found at 0x%04X",addr); - show_mp_fps(addr); + if(show_mp_fps(addr))return true; } addr++; } @@ -206,12 +208,12 @@ bool init_mp() if(check_mp(addr)) { // log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Found at 0x%04X",addr); - show_mp_fps(addr); + if(show_mp_fps(addr))return true; } addr++; } - return true; + return false; } |
