测试设备驱动程序中的挂起和恢复支持

  1. 2007 Rafael J. Wysocki <rjw@sisk.pl>, GPL

1. 准备测试系统

不幸的是,要有效地测试驱动程序中对系统范围挂起和恢复转换的支持,有必要在加载该驱动程序的情况下挂起和恢复一个功能齐全的系统。 此外,应该多次这样做,最好是连续多次,并分别针对休眠(也称为挂起到磁盘或 STD)和挂起到 RAM(STR),因为每种情况都涉及略有不同的操作以及与机器 BIOS 的不同交互。

当然,为此目的,测试系统必须已知能够在没有被测驱动程序的情况下挂起和恢复。 因此,如果可能,您应该首先解决测试系统中所有与挂起/恢复相关的问题,然后再开始测试新的驱动程序。 请参阅 调试休眠和挂起 了解有关调试挂起/恢复功能的更多信息。

2. 测试驱动程序

一旦您在没有新驱动程序的情况下解决了测试系统与挂起/恢复相关的问题,您就可以测试它了。

  1. 将驱动程序构建为模块,加载它并尝试休眠的测试模式(请参阅:调试休眠和挂起, 1)。

  2. 加载驱动程序并尝试在“reboot”、“shutdown”和“platform”模式下休眠(请参阅:调试休眠和挂起, 1)。

  3. 将驱动程序直接编译到内核中并尝试休眠的测试模式。

  4. 尝试在“reboot”、“shutdown”和“platform”模式下使用直接编译到内核中的驱动程序进行休眠。

  5. 尝试挂起的测试模式(请参阅:调试休眠和挂起, 2)。 [就 STR 测试而言,驱动程序是否构建为模块应该没有关系。]

  6. 尝试使用加载的驱动程序使用 s2ram 工具挂起到 RAM(请参阅:调试休眠和挂起, 2)。

上述每个测试应重复多次,STD 测试应与 STR 测试混合。 如果其中任何一个失败,则该驱动程序不能被认为是挂起/恢复安全的。