继续逐个分析手中的代码文件,我看了下现在手里的文件连同配置文件和makefile在内也不过100多个,做一个粗略的代码阅读分析应该还是有希望有可能的。
接下来,看看trap.c的代码。这个文件的位置如下:
从大神的注释来看,其实这个也算不上是很完善的trap处理,更多的其实是调试辅助。需要配合asm.s,这个文件之前我正好看了。
上面一半头文件包含其实没啥好说的了,下面其实是一些寄存器数值的读取或者处理。应该是有了问题之后,存储的一些捕获状态。
这些其实看着很眼熟了,正好是asm.s中的一些全局信息。看起来,很多实现是在这里做的了。
利用了前面设计的寄存器的处理读取函数,这里能够给出一些提示信息。调用了一个printk函数,后面需要简单了解下这个函数的实现。
这部分其实看起来是一个统一的处理模式,给出一些提示信息的处理居多。
这部分是CPU相关的硬件初始化了,在main函数最开始的时候执行。