static void __console_tx_char(int loglevel, unsigned char byte)
{
- if (ASM_CONSOLE_LOGLEVEL > loglevel) {
+ if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
uart_tx_byte(byte);
}
}
static void __console_tx_hex8(int loglevel, unsigned char value)
{
- if (ASM_CONSOLE_LOGLEVEL > loglevel) {
+ if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
__console_tx_nibble((value >> 4U) & 0x0fU);
__console_tx_nibble(value & 0x0fU);
}
static void __console_tx_hex16(int loglevel, unsigned short value)
{
- if (ASM_CONSOLE_LOGLEVEL > loglevel) {
+ if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
__console_tx_nibble((value >> 12U) & 0x0fU);
__console_tx_nibble((value >> 8U) & 0x0fU);
__console_tx_nibble((value >> 4U) & 0x0fU);
static void __console_tx_hex32(int loglevel, unsigned int value)
{
- if (ASM_CONSOLE_LOGLEVEL > loglevel) {
+ if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
__console_tx_nibble((value >> 28U) & 0x0fU);
__console_tx_nibble((value >> 24U) & 0x0fU);
__console_tx_nibble((value >> 20U) & 0x0fU);
static void __console_tx_string(int loglevel, const char *str)
{
- if (ASM_CONSOLE_LOGLEVEL > loglevel) {
+ if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
unsigned char ch;
while((ch = *str++) != '\0') {
__console_tx_byte(ch);
#define printk_debug(fmt, arg...) do_printk(BIOS_DEBUG ,fmt, ##arg)
#define printk_spew(fmt, arg...) do_printk(BIOS_SPEW ,fmt, ##arg)
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_EMERG
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_EMERG
#undef printk_emerg
#define printk_emerg(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ALERT
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ALERT
#undef printk_alert
#define printk_alert(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_CRIT
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_CRIT
#undef printk_crit
#define printk_crit(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ERR
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ERR
#undef printk_err
#define printk_err(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_WARNING
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_WARNING
#undef printk_warning
#define printk_warning(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_NOTICE
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_NOTICE
#undef printk_notice
#define printk_notice(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_INFO
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_INFO
#undef printk_info
#define printk_info(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_DEBUG
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_DEBUG
#undef printk_debug
#define printk_debug(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_SPEW
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_SPEW
#undef printk_spew
#define printk_spew(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg)
#endif
va_list args;
int i;
- if (msg_level >= console_loglevel) {
+ if (msg_level > console_loglevel) {
return 0;
}
If not selected, the last adapter found will be used.
choice
- prompt "Maximum console log level"
- default MAXIMUM_CONSOLE_LOGLEVEL_8
+ prompt "Maximum console log level"
+ default MAXIMUM_CONSOLE_LOGLEVEL_8
config MAXIMUM_CONSOLE_LOGLEVEL_8
- bool "8: SPEW"
- help
- Way too many details.
+ bool "8: SPEW"
+ help
+ Way too many details.
config MAXIMUM_CONSOLE_LOGLEVEL_7
- bool "7: DEBUG"
- help
- Debug-level messages.
+ bool "7: DEBUG"
+ help
+ Debug-level messages.
config MAXIMUM_CONSOLE_LOGLEVEL_6
- bool "6: INFO"
- help
- Informational messages.
+ bool "6: INFO"
+ help
+ Informational messages.
config MAXIMUM_CONSOLE_LOGLEVEL_5
- bool "5: NOTICE"
- help
- Normal but significant conditions.
+ bool "5: NOTICE"
+ help
+ Normal but significant conditions.
config MAXIMUM_CONSOLE_LOGLEVEL_4
- bool "4: WARNING"
- help
- Warning conditions.
+ bool "4: WARNING"
+ help
+ Warning conditions.
config MAXIMUM_CONSOLE_LOGLEVEL_3
- bool "3: ERR"
- help
- Error conditions.
+ bool "3: ERR"
+ help
+ Error conditions.
config MAXIMUM_CONSOLE_LOGLEVEL_2
- bool "2: CRIT"
- help
- Critical conditions.
+ bool "2: CRIT"
+ help
+ Critical conditions.
config MAXIMUM_CONSOLE_LOGLEVEL_1
- bool "1: ALERT"
- help
- Action must be taken immediately.
+ bool "1: ALERT"
+ help
+ Action must be taken immediately.
config MAXIMUM_CONSOLE_LOGLEVEL_0
- bool "0: EMERG"
- help
- System is unusable.
+ bool "0: EMERG"
+ help
+ System is unusable.
endchoice
Map the log level config names to an integer.
choice
- prompt "Default console log level"
- default DEFAULT_CONSOLE_LOGLEVEL_8
+ prompt "Default console log level"
+ default DEFAULT_CONSOLE_LOGLEVEL_8
config DEFAULT_CONSOLE_LOGLEVEL_8
- bool "8: SPEW"
- help
- Way too many details.
+ bool "8: SPEW"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8)
+ help
+ Way too many details.
config DEFAULT_CONSOLE_LOGLEVEL_7
- bool "7: DEBUG"
- help
- Debug-level messages.
+ bool "7: DEBUG"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7)
+ help
+ Debug-level messages.
config DEFAULT_CONSOLE_LOGLEVEL_6
- bool "6: INFO"
- help
- Informational messages.
+ bool "6: INFO"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_6)
+ help
+ Informational messages.
config DEFAULT_CONSOLE_LOGLEVEL_5
- bool "5: NOTICE"
- help
- Normal but significant conditions.
+ bool "5: NOTICE"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5)
+ help
+ Normal but significant conditions.
config DEFAULT_CONSOLE_LOGLEVEL_4
- bool "4: WARNING"
- help
- Warning conditions.
+ bool "4: WARNING"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_4)
+ help
+ Warning conditions.
config DEFAULT_CONSOLE_LOGLEVEL_3
- bool "3: ERR"
- help
- Error conditions.
+ bool "3: ERR"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_4 || MAXIMUM_CONSOLE_LOGLEVEL_3)
+ help
+ Error conditions.
config DEFAULT_CONSOLE_LOGLEVEL_2
- bool "2: CRIT"
- help
- Critical conditions.
+ bool "2: CRIT"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_4 || MAXIMUM_CONSOLE_LOGLEVEL_3 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_2)
+ help
+ Critical conditions.
config DEFAULT_CONSOLE_LOGLEVEL_1
- bool "1: ALERT"
- help
- Action must be taken immediately.
+ bool "1: ALERT"
+ depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_4 || MAXIMUM_CONSOLE_LOGLEVEL_3 ||\
+ MAXIMUM_CONSOLE_LOGLEVEL_2 || MAXIMUM_CONSOLE_LOGLEVEL_1)
+ help
+ Action must be taken immediately.
config DEFAULT_CONSOLE_LOGLEVEL_0
- bool "0: EMERG"
- help
- System is unusable.
+ bool "0: EMERG"
+ help
+ System is unusable.
endchoice
outb(value, 0x80);
#endif
}
-
-/* Report a fatal error */
-void __attribute__((noreturn)) die(const char *msg)
-{
- printk_emerg("%s", msg);
- post_code(0xff);
- while (1); /* Halt */
-}
va_list args;
int i;
- if (msg_level >= console_loglevel) {
+ if (msg_level > console_loglevel) {
return 0;
}
#define printk_debug(fmt, arg...) do_printk(BIOS_DEBUG ,fmt, ##arg)
#define printk_spew(fmt, arg...) do_printk(BIOS_SPEW ,fmt, ##arg)
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_EMERG
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_EMERG
#undef printk_emerg
#define printk_emerg(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ALERT
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ALERT
#undef printk_alert
#define printk_alert(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_CRIT
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_CRIT
#undef printk_crit
#define printk_crit(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ERR
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ERR
#undef printk_err
#define printk_err(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_WARNING
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_WARNING
#undef printk_warning
#define printk_warning(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_NOTICE
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_NOTICE
#undef printk_notice
#define printk_notice(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_INFO
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_INFO
#undef printk_info
#define printk_info(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_DEBUG
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_DEBUG
#undef printk_debug
#define printk_debug(fmt, arg...) do {} while(0)
#endif
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_SPEW
+#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_SPEW
#undef printk_spew
#define printk_spew(fmt, arg...) do {} while(0)
#endif
/* Safe for inclusion in assembly */
-#ifndef CONFIG_MAXIMUM_CONSOLE_LOGLEVEL
-#define CONFIG_MAXIMUM_CONSOLE_LOGLEVEL 8
-#endif
-
-#ifndef CONFIG_DEFAULT_CONSOLE_LOGLEVEL
-#define CONFIG_DEFAULT_CONSOLE_LOGLEVEL 8 /* anything MORE serious than BIOS_SPEW */
-#endif
-
#ifndef ASM_CONSOLE_LOGLEVEL
-#if (CONFIG_DEFAULT_CONSOLE_LOGLEVEL <= CONFIG_MAXIMUM_CONSOLE_LOGLEVEL)
-#define ASM_CONSOLE_LOGLEVEL CONFIG_DEFAULT_CONSOLE_LOGLEVEL
-#else
#define ASM_CONSOLE_LOGLEVEL CONFIG_MAXIMUM_CONSOLE_LOGLEVEL
#endif
-#endif
#define BIOS_EMERG 0 /* system is unusable */
#define BIOS_ALERT 1 /* action must be taken immediately */