system flag的问题
南狼兄,请教一个问题,64端口(状态口)的bit2位,也就是system flag位。通常是post时,用来决定是上电复位(冷启),还是软件复位(热启);那么该位的0,1到底是由什么决定的或说什么影响该位?是EC吗?是怎么影响该位的? system flag是由kbc bios决定的,但具体由哪些影响,我也无法给出定数(我无知不了解).这是ISA/EISA时代的产物.但我想我举的这些例子估计会影响这些的:1、三键重启;
2、port CF9h(06 & 0E)重启或关机,如hardware reset或system off;
3、其它紧急情况,如CPU过热ACPI thermal shutdown,按reset键等;
能希望有所帮助 我曾经在CPU Reset之后观察过这一位,好像没有什么变化。
现在BIOS运行时是怎么来判断是CPU Reset还是PCI Reset?
谢谢! 目前在代码里还没查到post过程中clear system flag的动作。如果不是post过程中BIOS某个warm boot相关的procedure会去clear这个bit的话,可能是EC自己clear了,这个可能要请教EC的工程师。。。。 基本上是由KBC BIOS去解决set / clean的动作的. 我看了一些代码,实际上是否set还是clean system flag,也是由BIOS通知EC去做这个动作的,来让BIOS做下次判断,而且对于64端口(状态口),BIOS本来也就只能读而不能写。
页:
[1]