Skip to content

输入和执行命令有机率导致键盘失灵或者 Panic。 #2

@SilverRainZ

Description

@SilverRainZ

当执行用户级别的 getchar() 时,过多地调用 printl() 打印 log 似乎会导致奇怪的 panic,比如 Invaild OPCode 或者 GenernalPortection,亦可能导致键盘无响应:无法进入 kb_handle() 函数,而时钟中断正常。

如果将 printl() 替换为空语句,问题似乎不再出现,但是现在 log 仍然非常需要,因此暂不改动。
这可能和 printl() 中的 IO 操作比较耗时有关系。

  #ifdef __LOG_ON
- #define printl(...) _printl(__VA_ARGS__)
+ #define printl(...) ;
  #else
- #define printl(...) _print_null(__VA_ARGS__)
+ #define printl(...) ;
  #endif

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions