1. 24 8月, 2007 2 次提交
    • H
      [x86 setup] Make sure AH=00h when setting a video mode · 71351b98
      H. Peter Anvin 提交于
      Passing a u8 into a register doesn't mean gcc will zero-extend it.
      Also, don't depend on thhe register not to change.
      
      Per bug report from Saul Tamari.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      71351b98
    • H
      [x86 setup] Volatilize asm() statements · b015124e
      H. Peter Anvin 提交于
      asm() statements need to be volatile when:
      
      a. They have side effects (other than value returned).
      b. When the value returned can vary over time.
      c. When they have ordering constraints that cannot be expressed to gcc.
      
      In particular, the keyboard and timer reads were violating constraint (b),
      which resulted in the keyboard/timeout poll getting
      loop-invariant-removed when compiling with gcc 4.2.0.
      
      Thanks to an anonymous bug reporter for pointing this out.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      b015124e
  2. 13 7月, 2007 1 次提交
    • H
      Video mode probing support for the new x86 setup code · 5e8ddcbe
      H. Peter Anvin 提交于
      Video mode probing for the new x86 setup code.  This code breaks down
      different drivers into modules.  This code deliberately drops support
      for a lot of the vendor-specific mode probing present in the assembly
      version, since a lot of those probes have been found to be stale in
      current versions of those chips -- frequently, support for those modes
      have been dropped from recent video BIOSes due to space constraints,
      but the video BIOS signatures are still the same.
      
      However, additional drivers should be extremely straightforward to plug
      in, if desirable.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5e8ddcbe