diff options
Diffstat (limited to 'src/arch/i386')
-rw-r--r-- | src/arch/i386/lib/console.c | 214 | ||||
-rw-r--r-- | src/arch/i386/lib/console_print.c | 115 | ||||
-rw-r--r-- | src/arch/i386/lib/console_printk.c | 101 |
3 files changed, 218 insertions, 212 deletions
diff --git a/src/arch/i386/lib/console.c b/src/arch/i386/lib/console.c index 262a0db2f4..071fb2848c 100644 --- a/src/arch/i386/lib/console.c +++ b/src/arch/i386/lib/console.c @@ -6,222 +6,12 @@ static void __console_tx_byte(unsigned char byte) uart_tx_byte(byte); } -static void __console_tx_nibble(unsigned nibble) -{ - unsigned char digit; - digit = nibble + '0'; - if (digit > '9') { - digit += 39; - } - __console_tx_byte(digit); -} - -static void __console_tx_char(int loglevel, unsigned char byte) -{ - if (ASM_CONSOLE_LOGLEVEL > loglevel) { - uart_tx_byte(byte); - } -} - -static void __console_tx_hex8(int loglevel, unsigned char value) -{ - 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) { - __console_tx_nibble((value >> 12U) & 0x0fU); - __console_tx_nibble((value >> 8U) & 0x0fU); - __console_tx_nibble((value >> 4U) & 0x0fU); - __console_tx_nibble(value & 0x0fU); - } -} - -static void __console_tx_hex32(int loglevel, unsigned int value) -{ - if (ASM_CONSOLE_LOGLEVEL > loglevel) { - __console_tx_nibble((value >> 28U) & 0x0fU); - __console_tx_nibble((value >> 24U) & 0x0fU); - __console_tx_nibble((value >> 20U) & 0x0fU); - __console_tx_nibble((value >> 16U) & 0x0fU); - __console_tx_nibble((value >> 12U) & 0x0fU); - __console_tx_nibble((value >> 8U) & 0x0fU); - __console_tx_nibble((value >> 4U) & 0x0fU); - __console_tx_nibble(value & 0x0fU); - } -} - -static void __console_tx_string(int loglevel, const char *str) -{ - if (ASM_CONSOLE_LOGLEVEL > loglevel) { - unsigned char ch; - while((ch = *str++) != '\0') { - __console_tx_byte(ch); - } - } -} - -#define NOINLINE __attribute__((noinline)) -static void print_emerg_char(unsigned char byte) { __console_tx_char(BIOS_EMERG, byte); } -static void print_emerg_hex8(unsigned char value){ __console_tx_hex8(BIOS_EMERG, value); } -static void print_emerg_hex16(unsigned short value){ __console_tx_hex16(BIOS_EMERG, value); } -static void print_emerg_hex32(unsigned int value) { __console_tx_hex32(BIOS_EMERG, value); } -static void print_emerg(const char *str) { __console_tx_string(BIOS_EMERG, str); } - -static void print_alert_char(unsigned char byte) { __console_tx_char(BIOS_ALERT, byte); } -static void print_alert_hex8(unsigned char value) { __console_tx_hex8(BIOS_ALERT, value); } -static void print_alert_hex16(unsigned short value){ __console_tx_hex16(BIOS_ALERT, value); } -static void print_alert_hex32(unsigned int value) { __console_tx_hex32(BIOS_ALERT, value); } -static void print_alert(const char *str) { __console_tx_string(BIOS_ALERT, str); } - -static void print_crit_char(unsigned char byte) { __console_tx_char(BIOS_CRIT, byte); } -static void print_crit_hex8(unsigned char value) { __console_tx_hex8(BIOS_CRIT, value); } -static void print_crit_hex16(unsigned short value){ __console_tx_hex16(BIOS_CRIT, value); } -static void print_crit_hex32(unsigned int value) { __console_tx_hex32(BIOS_CRIT, value); } -static void print_crit(const char *str) { __console_tx_string(BIOS_CRIT, str); } - -static void print_err_char(unsigned char byte) { __console_tx_char(BIOS_ERR, byte); } -static void print_err_hex8(unsigned char value) { __console_tx_hex8(BIOS_ERR, value); } -static void print_err_hex16(unsigned short value){ __console_tx_hex16(BIOS_ERR, value); } -static void print_err_hex32(unsigned int value) { __console_tx_hex32(BIOS_ERR, value); } -static void print_err(const char *str) { __console_tx_string(BIOS_ERR, str); } - -static void print_warning_char(unsigned char byte) { __console_tx_char(BIOS_WARNING, byte); } -static void print_warning_hex8(unsigned char value) { __console_tx_hex8(BIOS_WARNING, value); } -static void print_warning_hex16(unsigned short value){ __console_tx_hex16(BIOS_WARNING, value); } -static void print_warning_hex32(unsigned int value) { __console_tx_hex32(BIOS_WARNING, value); } -static void print_warning(const char *str) { __console_tx_string(BIOS_WARNING, str); } - -static void print_notice_char(unsigned char byte) { __console_tx_char(BIOS_NOTICE, byte); } -static void print_notice_hex8(unsigned char value) { __console_tx_hex8(BIOS_NOTICE, value); } -static void print_notice_hex16(unsigned short value){ __console_tx_hex16(BIOS_NOTICE, value); } -static void print_notice_hex32(unsigned int value) { __console_tx_hex32(BIOS_NOTICE, value); } -static void print_notice(const char *str) { __console_tx_string(BIOS_NOTICE, str); } - -static void print_info_char(unsigned char byte) { __console_tx_char(BIOS_INFO, byte); } -static void print_info_hex8(unsigned char value) { __console_tx_hex8(BIOS_INFO, value); } -static void print_info_hex16(unsigned short value){ __console_tx_hex16(BIOS_INFO, value); } -static void print_info_hex32(unsigned int value) { __console_tx_hex32(BIOS_INFO, value); } -static void print_info(const char *str) { __console_tx_string(BIOS_INFO, str); } - -static void print_debug_char(unsigned char byte) { __console_tx_char(BIOS_DEBUG, byte); } -static void print_debug_hex8(unsigned char value) { __console_tx_hex8(BIOS_DEBUG, value); } -static void print_debug_hex16(unsigned short value){ __console_tx_hex16(BIOS_DEBUG, value); } -static void print_debug_hex32(unsigned int value) { __console_tx_hex32(BIOS_DEBUG, value); } -static void print_debug(const char *str) { __console_tx_string(BIOS_DEBUG, str); } - -static void print_spew_char(unsigned char byte) { __console_tx_char(BIOS_SPEW, byte); } -static void print_spew_hex8(unsigned char value) { __console_tx_hex8(BIOS_SPEW, value); } -static void print_spew_hex16(unsigned short value){ __console_tx_hex16(BIOS_SPEW, value); } -static void print_spew_hex32(unsigned int value) { __console_tx_hex32(BIOS_SPEW, value); } -static void print_spew(const char *str) { __console_tx_string(BIOS_SPEW, str); } +#include "console_print.c" #else /* CONFIG_USE_INIT == 1 */ -extern int do_printk(int msg_level, const char *fmt, ...); - -#define printk_emerg(fmt, arg...) do_printk(BIOS_EMERG ,fmt, ##arg) -#define printk_alert(fmt, arg...) do_printk(BIOS_ALERT ,fmt, ##arg) -#define printk_crit(fmt, arg...) do_printk(BIOS_CRIT ,fmt, ##arg) -#define printk_err(fmt, arg...) do_printk(BIOS_ERR ,fmt, ##arg) -#define printk_warning(fmt, arg...) do_printk(BIOS_WARNING ,fmt, ##arg) -#define printk_notice(fmt, arg...) do_printk(BIOS_NOTICE ,fmt, ##arg) -#define printk_info(fmt, arg...) do_printk(BIOS_INFO ,fmt, ##arg) -#define printk_debug(fmt, arg...) do_printk(BIOS_DEBUG ,fmt, ##arg) -#define printk_spew(fmt, arg...) do_printk(BIOS_SPEW ,fmt, ##arg) - -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_EMERG -#undef printk_emerg -#define printk_emerg(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ALERT -#undef printk_alert -#define printk_alert(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_CRIT -#undef printk_crit -#define printk_crit(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ERR -#undef printk_err -#define printk_err(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_WARNING -#undef printk_warning -#define printk_warning(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_NOTICE -#undef printk_notice -#define printk_notice(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_INFO -#undef printk_info -#define printk_info(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_DEBUG -#undef printk_debug -#define printk_debug(fmt, arg...) do {} while(0) -#endif -#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_SPEW -#undef printk_spew -#define printk_spew(fmt, arg...) do {} while(0) -#endif - -#define print_emerg(STR) printk_emerg ("%s", (STR)) -#define print_alert(STR) printk_alert ("%s", (STR)) -#define print_crit(STR) printk_crit ("%s", (STR)) -#define print_err(STR) printk_err ("%s", (STR)) -#define print_warning(STR) printk_warning("%s", (STR)) -#define print_notice(STR) printk_notice ("%s", (STR)) -#define print_info(STR) printk_info ("%s", (STR)) -#define print_debug(STR) printk_debug ("%s", (STR)) -#define print_spew(STR) printk_spew ("%s", (STR)) - -#define print_emerg_char(CH) printk_emerg ("%c", (CH)) -#define print_alert_char(CH) printk_alert ("%c", (CH)) -#define print_crit_char(CH) printk_crit ("%c", (CH)) -#define print_err_char(CH) printk_err ("%c", (CH)) -#define print_warning_char(CH) printk_warning("%c", (CH)) -#define print_notice_char(CH) printk_notice ("%c", (CH)) -#define print_info_char(CH) printk_info ("%c", (CH)) -#define print_debug_char(CH) printk_debug ("%c", (CH)) -#define print_spew_char(CH) printk_spew ("%c", (CH)) - -#define print_emerg_hex8(HEX) printk_emerg ("%02x", (HEX)) -#define print_alert_hex8(HEX) printk_alert ("%02x", (HEX)) -#define print_crit_hex8(HEX) printk_crit ("%02x", (HEX)) -#define print_err_hex8(HEX) printk_err ("%02x", (HEX)) -#define print_warning_hex8(HEX) printk_warning("%02x", (HEX)) -#define print_notice_hex8(HEX) printk_notice ("%02x", (HEX)) -#define print_info_hex8(HEX) printk_info ("%02x", (HEX)) -#define print_debug_hex8(HEX) printk_debug ("%02x", (HEX)) -#define print_spew_hex8(HEX) printk_spew ("%02x", (HEX)) - -#define print_emerg_hex16(HEX) printk_emerg ("%04x", (HEX)) -#define print_alert_hex16(HEX) printk_alert ("%04x", (HEX)) -#define print_crit_hex16(HEX) printk_crit ("%04x", (HEX)) -#define print_err_hex16(HEX) printk_err ("%04x", (HEX)) -#define print_warning_hex16(HEX) printk_warning("%04x", (HEX)) -#define print_notice_hex16(HEX) printk_notice ("%04x", (HEX)) -#define print_info_hex16(HEX) printk_info ("%04x", (HEX)) -#define print_debug_hex16(HEX) printk_debug ("%04x", (HEX)) -#define print_spew_hex16(HEX) printk_spew ("%04x", (HEX)) - -#define print_emerg_hex32(HEX) printk_emerg ("%08x", (HEX)) -#define print_alert_hex32(HEX) printk_alert ("%08x", (HEX)) -#define print_crit_hex32(HEX) printk_crit ("%08x", (HEX)) -#define print_err_hex32(HEX) printk_err ("%08x", (HEX)) -#define print_warning_hex32(HEX) printk_warning("%08x", (HEX)) -#define print_notice_hex32(HEX) printk_notice ("%08x", (HEX)) -#define print_info_hex32(HEX) printk_info ("%08x", (HEX)) -#define print_debug_hex32(HEX) printk_debug ("%08x", (HEX)) -#define print_spew_hex32(HEX) printk_spew ("%08x", (HEX)) - +#include "console_printk.c" #endif /* CONFIG_USE_INIT */ diff --git a/src/arch/i386/lib/console_print.c b/src/arch/i386/lib/console_print.c new file mode 100644 index 0000000000..2966307f16 --- /dev/null +++ b/src/arch/i386/lib/console_print.c @@ -0,0 +1,115 @@ + +static void __console_tx_nibble(unsigned nibble) +{ + unsigned char digit; + digit = nibble + '0'; + if (digit > '9') { + digit += 39; + } + __console_tx_byte(digit); +} + +static void __console_tx_char(int loglevel, unsigned char byte) +{ + if (ASM_CONSOLE_LOGLEVEL > loglevel) { + uart_tx_byte(byte); + } +} + +static void __console_tx_hex8(int loglevel, unsigned char value) +{ + 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) { + __console_tx_nibble((value >> 12U) & 0x0fU); + __console_tx_nibble((value >> 8U) & 0x0fU); + __console_tx_nibble((value >> 4U) & 0x0fU); + __console_tx_nibble(value & 0x0fU); + } +} + +static void __console_tx_hex32(int loglevel, unsigned int value) +{ + if (ASM_CONSOLE_LOGLEVEL > loglevel) { + __console_tx_nibble((value >> 28U) & 0x0fU); + __console_tx_nibble((value >> 24U) & 0x0fU); + __console_tx_nibble((value >> 20U) & 0x0fU); + __console_tx_nibble((value >> 16U) & 0x0fU); + __console_tx_nibble((value >> 12U) & 0x0fU); + __console_tx_nibble((value >> 8U) & 0x0fU); + __console_tx_nibble((value >> 4U) & 0x0fU); + __console_tx_nibble(value & 0x0fU); + } +} + +static void __console_tx_string(int loglevel, const char *str) +{ + if (ASM_CONSOLE_LOGLEVEL > loglevel) { + unsigned char ch; + while((ch = *str++) != '\0') { + __console_tx_byte(ch); + } + } +} + +#define NOINLINE __attribute__((noinline)) +static void print_emerg_char(unsigned char byte) { __console_tx_char(BIOS_EMERG, byte); } +static void print_emerg_hex8(unsigned char value){ __console_tx_hex8(BIOS_EMERG, value); } +static void print_emerg_hex16(unsigned short value){ __console_tx_hex16(BIOS_EMERG, value); } +static void print_emerg_hex32(unsigned int value) { __console_tx_hex32(BIOS_EMERG, value); } +static void print_emerg(const char *str) { __console_tx_string(BIOS_EMERG, str); } + +static void print_alert_char(unsigned char byte) { __console_tx_char(BIOS_ALERT, byte); } +static void print_alert_hex8(unsigned char value) { __console_tx_hex8(BIOS_ALERT, value); } +static void print_alert_hex16(unsigned short value){ __console_tx_hex16(BIOS_ALERT, value); } +static void print_alert_hex32(unsigned int value) { __console_tx_hex32(BIOS_ALERT, value); } +static void print_alert(const char *str) { __console_tx_string(BIOS_ALERT, str); } + +static void print_crit_char(unsigned char byte) { __console_tx_char(BIOS_CRIT, byte); } +static void print_crit_hex8(unsigned char value) { __console_tx_hex8(BIOS_CRIT, value); } +static void print_crit_hex16(unsigned short value){ __console_tx_hex16(BIOS_CRIT, value); } +static void print_crit_hex32(unsigned int value) { __console_tx_hex32(BIOS_CRIT, value); } +static void print_crit(const char *str) { __console_tx_string(BIOS_CRIT, str); } + +static void print_err_char(unsigned char byte) { __console_tx_char(BIOS_ERR, byte); } +static void print_err_hex8(unsigned char value) { __console_tx_hex8(BIOS_ERR, value); } +static void print_err_hex16(unsigned short value){ __console_tx_hex16(BIOS_ERR, value); } +static void print_err_hex32(unsigned int value) { __console_tx_hex32(BIOS_ERR, value); } +static void print_err(const char *str) { __console_tx_string(BIOS_ERR, str); } + +static void print_warning_char(unsigned char byte) { __console_tx_char(BIOS_WARNING, byte); } +static void print_warning_hex8(unsigned char value) { __console_tx_hex8(BIOS_WARNING, value); } +static void print_warning_hex16(unsigned short value){ __console_tx_hex16(BIOS_WARNING, value); } +static void print_warning_hex32(unsigned int value) { __console_tx_hex32(BIOS_WARNING, value); } +static void print_warning(const char *str) { __console_tx_string(BIOS_WARNING, str); } + +static void print_notice_char(unsigned char byte) { __console_tx_char(BIOS_NOTICE, byte); } +static void print_notice_hex8(unsigned char value) { __console_tx_hex8(BIOS_NOTICE, value); } +static void print_notice_hex16(unsigned short value){ __console_tx_hex16(BIOS_NOTICE, value); } +static void print_notice_hex32(unsigned int value) { __console_tx_hex32(BIOS_NOTICE, value); } +static void print_notice(const char *str) { __console_tx_string(BIOS_NOTICE, str); } + +static void print_info_char(unsigned char byte) { __console_tx_char(BIOS_INFO, byte); } +static void print_info_hex8(unsigned char value) { __console_tx_hex8(BIOS_INFO, value); } +static void print_info_hex16(unsigned short value){ __console_tx_hex16(BIOS_INFO, value); } +static void print_info_hex32(unsigned int value) { __console_tx_hex32(BIOS_INFO, value); } +static void print_info(const char *str) { __console_tx_string(BIOS_INFO, str); } + +static void print_debug_char(unsigned char byte) { __console_tx_char(BIOS_DEBUG, byte); } +static void print_debug_hex8(unsigned char value) { __console_tx_hex8(BIOS_DEBUG, value); } +static void print_debug_hex16(unsigned short value){ __console_tx_hex16(BIOS_DEBUG, value); } +static void print_debug_hex32(unsigned int value) { __console_tx_hex32(BIOS_DEBUG, value); } +static void print_debug(const char *str) { __console_tx_string(BIOS_DEBUG, str); } + +static void print_spew_char(unsigned char byte) { __console_tx_char(BIOS_SPEW, byte); } +static void print_spew_hex8(unsigned char value) { __console_tx_hex8(BIOS_SPEW, value); } +static void print_spew_hex16(unsigned short value){ __console_tx_hex16(BIOS_SPEW, value); } +static void print_spew_hex32(unsigned int value) { __console_tx_hex32(BIOS_SPEW, value); } +static void print_spew(const char *str) { __console_tx_string(BIOS_SPEW, str); } + diff --git a/src/arch/i386/lib/console_printk.c b/src/arch/i386/lib/console_printk.c new file mode 100644 index 0000000000..2cd9cef9d5 --- /dev/null +++ b/src/arch/i386/lib/console_printk.c @@ -0,0 +1,101 @@ + +extern int do_printk(int msg_level, const char *fmt, ...); + +#define printk_emerg(fmt, arg...) do_printk(BIOS_EMERG ,fmt, ##arg) +#define printk_alert(fmt, arg...) do_printk(BIOS_ALERT ,fmt, ##arg) +#define printk_crit(fmt, arg...) do_printk(BIOS_CRIT ,fmt, ##arg) +#define printk_err(fmt, arg...) do_printk(BIOS_ERR ,fmt, ##arg) +#define printk_warning(fmt, arg...) do_printk(BIOS_WARNING ,fmt, ##arg) +#define printk_notice(fmt, arg...) do_printk(BIOS_NOTICE ,fmt, ##arg) +#define printk_info(fmt, arg...) do_printk(BIOS_INFO ,fmt, ##arg) +#define printk_debug(fmt, arg...) do_printk(BIOS_DEBUG ,fmt, ##arg) +#define printk_spew(fmt, arg...) do_printk(BIOS_SPEW ,fmt, ##arg) + +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_EMERG +#undef printk_emerg +#define printk_emerg(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ALERT +#undef printk_alert +#define printk_alert(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_CRIT +#undef printk_crit +#define printk_crit(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ERR +#undef printk_err +#define printk_err(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_WARNING +#undef printk_warning +#define printk_warning(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_NOTICE +#undef printk_notice +#define printk_notice(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_INFO +#undef printk_info +#define printk_info(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_DEBUG +#undef printk_debug +#define printk_debug(fmt, arg...) do {} while(0) +#endif +#if MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_SPEW +#undef printk_spew +#define printk_spew(fmt, arg...) do {} while(0) +#endif + +#define print_emerg(STR) printk_emerg ("%s", (STR)) +#define print_alert(STR) printk_alert ("%s", (STR)) +#define print_crit(STR) printk_crit ("%s", (STR)) +#define print_err(STR) printk_err ("%s", (STR)) +#define print_warning(STR) printk_warning("%s", (STR)) +#define print_notice(STR) printk_notice ("%s", (STR)) +#define print_info(STR) printk_info ("%s", (STR)) +#define print_debug(STR) printk_debug ("%s", (STR)) +#define print_spew(STR) printk_spew ("%s", (STR)) + +#define print_emerg_char(CH) printk_emerg ("%c", (CH)) +#define print_alert_char(CH) printk_alert ("%c", (CH)) +#define print_crit_char(CH) printk_crit ("%c", (CH)) +#define print_err_char(CH) printk_err ("%c", (CH)) +#define print_warning_char(CH) printk_warning("%c", (CH)) +#define print_notice_char(CH) printk_notice ("%c", (CH)) +#define print_info_char(CH) printk_info ("%c", (CH)) +#define print_debug_char(CH) printk_debug ("%c", (CH)) +#define print_spew_char(CH) printk_spew ("%c", (CH)) + +#define print_emerg_hex8(HEX) printk_emerg ("%02x", (HEX)) +#define print_alert_hex8(HEX) printk_alert ("%02x", (HEX)) +#define print_crit_hex8(HEX) printk_crit ("%02x", (HEX)) +#define print_err_hex8(HEX) printk_err ("%02x", (HEX)) +#define print_warning_hex8(HEX) printk_warning("%02x", (HEX)) +#define print_notice_hex8(HEX) printk_notice ("%02x", (HEX)) +#define print_info_hex8(HEX) printk_info ("%02x", (HEX)) +#define print_debug_hex8(HEX) printk_debug ("%02x", (HEX)) +#define print_spew_hex8(HEX) printk_spew ("%02x", (HEX)) + +#define print_emerg_hex16(HEX) printk_emerg ("%04x", (HEX)) +#define print_alert_hex16(HEX) printk_alert ("%04x", (HEX)) +#define print_crit_hex16(HEX) printk_crit ("%04x", (HEX)) +#define print_err_hex16(HEX) printk_err ("%04x", (HEX)) +#define print_warning_hex16(HEX) printk_warning("%04x", (HEX)) +#define print_notice_hex16(HEX) printk_notice ("%04x", (HEX)) +#define print_info_hex16(HEX) printk_info ("%04x", (HEX)) +#define print_debug_hex16(HEX) printk_debug ("%04x", (HEX)) +#define print_spew_hex16(HEX) printk_spew ("%04x", (HEX)) + +#define print_emerg_hex32(HEX) printk_emerg ("%08x", (HEX)) +#define print_alert_hex32(HEX) printk_alert ("%08x", (HEX)) +#define print_crit_hex32(HEX) printk_crit ("%08x", (HEX)) +#define print_err_hex32(HEX) printk_err ("%08x", (HEX)) +#define print_warning_hex32(HEX) printk_warning("%08x", (HEX)) +#define print_notice_hex32(HEX) printk_notice ("%08x", (HEX)) +#define print_info_hex32(HEX) printk_info ("%08x", (HEX)) +#define print_debug_hex32(HEX) printk_debug ("%08x", (HEX)) +#define print_spew_hex32(HEX) printk_spew ("%08x", (HEX)) + + |