summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/mp.c14
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;
}