TODO List for Chameleon Boot Loader␊ |
====================================␊ |
␊ |
- Add a new module capable of writing proprietary Chameleon data to ioreg:␊ |
Using the DT__xxx() API, we will creat e a set of functions to write␊ |
to log info, chameleon boot info to be retrieved by helper applications...␊ |
the only public function for log info purpose of this module would be:␊ |
logMessageToIOREG(...); // var args printf style format␊ |
flushLogToIOREG(); // store a unique log info property to the ioreg␊ |
␊ |
The preferred internal behavior of the log info ioreg buffer␊ |
would be to store the messages in a consolidated buffer then only write once,␊ |
this buffer (i.e just before call the kernel) with flushLogToIOREG();␊ |
The other public function for writing chameleon boot info data would be:␊ |
␊ |
verbose() should incorporate a call to logMessageToIOREG() ␊ |
to permit helper applications to extract␊ |
this log info (i.e: the chameleon system pref pane)␊ |
␊ |
- Add API for displaying and logging messages like:␊ |
␊ |
void verbose(...)␊ |
{␊ |
...␊ |
logMessageToIOREG("%s: %sn", title, s);␊ |
␊ |
}␊ |
␊ |
void display_and_log( const char* title, const char* msg) ␊ |
{␊ |
printf("%s: %sn", title, s);␊ |
logMessageToIOREG(title,s);␊ |
}␊ |
␊ |
void deprecated(const char * s)␊ |
{␊ |
display_and_log("WARNING: Deprecated option",s); ␊ |
sleep(1); ␊ |
}␊ |
␊ |
void error_message(const char * s)␊ |
{␊ |
display_and_log("ERROR",s); ␊ |
getc();␊ |
}␊ |
␊ |
- Case unsensitive parsing for the bootConfig options:␊ |
should help the common/novice user to setup more easily.␊ |