1. 01 Mar, 2006 3 commits
  2. 28 Feb, 2006 26 commits
  3. 27 Feb, 2006 7 commits
  4. 26 Feb, 2006 4 commits
    • Andi Kleen's avatar
      [PATCH] x86_64: Fix ioctl compat code for /dev/rtc · fc5870f6
      Andi Kleen authored
      RTC_IRQP_SET/RTC_EPOCH_SET don't take a pointer to an argument, but the
      argument itself.  This actually simplifies the code and makes it work.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      fc5870f6
    • Andi Kleen's avatar
      [PATCH] x86_64: Better ATI timer fix · ab9b32ee
      Andi Kleen authored
      The previous experiment for using apicmaintimer on ATI systems didn't
      work out very well.  In particular laptops with C2/C3 support often
      don't let it tick during idle, which makes it useless.  There were also
      some other bugs that made the apicmaintimer often not used at all.
      
      I tried some other experiments - running timer over RTC and some other
      things but they didn't really work well neither.
      
      I rechecked the specs now and it turns out this simple change is
      actually enough to avoid the double ticks on the ATI systems.  We just
      turn off IRQ 0 in the 8254 and only route it directly using the IO-APIC.
      
      I tested it on a few ATI systems and it worked there.  In fact it worked
      on all chipsets (NVidia, Intel, AMD, ATI) I tried it on.
      
      According to the ACPI spec routing should always work through the
      IO-APIC so I think it's the correct thing to do anyways (and most of the
      old gunk in check_timer should be thrown away for x86-64).
      
      But for 2.6.16 it's best to do a fairly minimal change:
       - Use the known to be working everywhere-but-ATI IRQ0 both over 8254
         and IO-APIC setup everywhere
       - Except on ATI disable IRQ0 in the 8254
       - Remove the code to select apicmaintimer on ATI chipsets
       - Add some boot options to allow to override this (just paranoia)
      
      In 2.6.17 I hope to switch the default over to this for everybody.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ab9b32ee
    • Andi Kleen's avatar
      [PATCH] x86_64: Move the SMP time selection earlier · e8b91777
      Andi Kleen authored
      SMP time selection originally ran after all CPUs were brought up because
      it needed to know the number of CPUs to decide if it needs an MP safe
      timer or not.
      
      This is not needed anymore because we know present CPUs early.
      
      This fixes a couple of problems:
       - apicmaintimer didn't always work because it relied on state that was
         set up time_init_gtod too late.
       - The output for the used timer in early kernel log was misleading
         because time_init_gtod could actually change it later.  Now always
         print the final timer choice
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e8b91777
    • Andi Kleen's avatar
      [PATCH] x86_64: Fix the additional_cpus=.. option · e2c03888
      Andi Kleen authored
      It didn't set up the CPU possible map early enough, so the
      option didn't actually work.
      
      Noticed by Heiko Carstens
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e2c03888