1. 28 Feb, 2006 25 commits
  2. 27 Feb, 2006 7 commits
  3. 26 Feb, 2006 8 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
    • Andi Kleen's avatar
      [PATCH] x86_64: Disable ACPI blacklist by year for now on x86-64 · 2eb1bdba
      Andi Kleen authored
      ACPI is initialized very early on x86-64, before the DMI code is
      initialized.  This means it would often discover a 0 year and then turn
      off ACPI because it thought the BIOS was too old.  Some systems don't
      boot without ACPI so this was a problem.
      
      I have a full fix by adding new very early DMI detection, but it needs
      more testing before it can be merged.  For 2.6.16 let's just turn the
      check off.  It never made much sense anyways because there are no x86-64
      systems older than 2002 or so and they generally all have working ACPI.
      
      Cc: len.brown@intel.com
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      2eb1bdba
    • Chris McDermott's avatar
      [PATCH] x86_64: Fix NMI watchdog on x460 · 1f992153
      Chris McDermott authored
      [description from AK]
      
      Old check for the IO-APIC watchdog during the timer check was wrong -
      it obviously should only drop into this if the IO-APIC watchdog is used.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      1f992153
    • Andi Kleen's avatar
      [PATCH] x86-64/i386: Use common X86_PM_TIMER option and make it EMBEDDED · e78256b8
      Andi Kleen authored
      This makes x86-64 use the common X86_PM_TIMER Kconfig entry in drivers/acpi
      
      And since PM timer is needed for correct timing on a lot of systems
      now (e.g. AMD dual cores) and we often get bug reports from people
      who forgot to set it make it depend on CONFIG_EMBEDDED. x86-64 had
      this change before and it's a good thing.
      
      I also fixed the description slightly to make this more clear.
      
      Cc: len.brown@intel.com
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e78256b8
    • Andreas Deresch's avatar
      [PATCH] i386: Handle non existing APICs without panicing · 6070f9ec
      Andreas Deresch authored
      [description from AK]
      
      This fixes booting in APIC mode on some ACER laptops. x86-64
      did a similar change some time ago.
      
      See http://bugzilla.kernel.org/show_bug.cgi?id=4700 for details
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6070f9ec