printkまとめ

2022/12/12に公開

printkまとめ

typedef unsigned long long u64; %llu
%u unsigned int
%u long unsigned int
%lu unsigned long
u16 %hu
u32 %u

printk(KERN_EMERG "boot_cpu_detected %d:\n", boot_cpu_detected);
printk(KERN_EMERG "*** cpu_device_up:\n");
printk(KERN_INFO "cpu_device_up:\n");
printk(KERN_EMERG "*** %s: %pS\n", __func__, (void *)_RET_IP_);

0 KERN_EMERG システム停止前の緊急メッセージ
1 KERN_ALERT 早急な対応が必要なエラー
2 KERN_CRIT HWもしくはSWの致命的なエラー
3 KERN_ERR ドライバ共通のエラー
4 KERN_WARNING 警告(エラーとなる可能性がある)
5 KERN_NOTICE 注意(エラーではない)
6 KERN_INFO 情報通知
7 KERN_DEBUG デバッグメッセージ専用
d KERN_DEFAULT デフォルトのログレベル
c KERN_CONT ログの継続(タイムスタンプの更新を回避。ブート中専用)

https://blog.csdn.net/weixin_44261839/article/details/114029128

Integer types¶
If variable is of Type, use printk format specifier:

    char                    %d or %x
    unsigned char           %u or %x
    short int               %d or %x
    unsigned short int      %u or %x
    int                     %d or %x
    unsigned int            %u or %x
    long                    %ld or %lx
    unsigned long           %lu or %lx
    long long               %lld or %llx
    unsigned long long      %llu or %llx
    size_t                  %zu or %zx
    ssize_t                 %zd or %zx
    s8                      %d or %x
    u8                      %u or %x
    s16                     %d or %x
    u16                     %u or %x
    s32                     %d or %x
    u32                     %u or %x
    s64                     %lld or %llx or Lx
    u64                     %llu or %llx or Lx

https://docs.kernel.org/core-api/printk-formats.html

Discussion