tristate "NatSemi SCx200 support"
        depends on !X86_VOYAGER
        help
 -        This provides basic support for the National Semiconductor SCx200
 -        processor.  Right now this is just a driver for the GPIO pins.
 +        This provides basic support for National Semiconductor's
 +        (now AMD's) Geode processors.  The driver probes for the
 +        PCI-IDs of several on-chip devices, so its a good dependency
 +        for other scx200_* drivers.
  
 -        If you don't know what to do here, say N.
 +        If compiled as a module, the driver is named scx200.
  
 -        This support is also available as a module.  If compiled as a
 -        module, it will be called scx200.
 +config SCx200HR_TIMER
 +      tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
 +      depends on SCx200 && GENERIC_TIME
 +      default y
 +      help
 +        This driver provides a clocksource built upon the on-chip
 +        27MHz high-resolution timer.  Its also a workaround for
 +        NSC Geode SC-1100's buggy TSC, which loses time when the
 +        processor goes idle (as is done by the scheduler).  The
 +        other workaround is idle=poll boot option.
  
+ config K8_NB
+       def_bool y
+       depends on AGP_AMD64
+ 
  source "drivers/pcmcia/Kconfig"
  
  source "drivers/pci/hotplug/Kconfig"
 
  obj-$(CONFIG_DOUBLEFAULT)     += doublefault.o
  obj-$(CONFIG_VM86)            += vm86.o
  obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
 +obj-$(CONFIG_HPET_TIMER)      += hpet.o
+ obj-$(CONFIG_K8_NB)           += k8.o
  
  EXTRA_AFLAGS   := -traditional
  
 
                t2 = inl(acpi_fadt.xpm_tmr_blk.address);
                /* Get end time (ticks) */
                t2 = inl(acpi_fadt.xpm_tmr_blk.address);
 +
 +#ifdef CONFIG_GENERIC_TIME
 +              /* TSC halts in C2, so notify users */
 +              mark_tsc_unstable();
 +#endif
                /* Re-enable interrupts */
                local_irq_enable();
-               set_thread_flag(TIF_POLLING_NRFLAG);
+               current_thread_info()->status |= TS_POLLING;
                /* Compute time (ticks) that we were actually asleep */
                sleep_ticks =
                    ticks_elapsed(t1, t2) - cx->latency_ticks - C2_OVERHEAD;
                                          ACPI_MTX_DO_NOT_LOCK);
                }
  
 +#ifdef CONFIG_GENERIC_TIME
 +              /* TSC halts in C3, so notify users */
 +              mark_tsc_unstable();
 +#endif
                /* Re-enable interrupts */
                local_irq_enable();
-               set_thread_flag(TIF_POLLING_NRFLAG);
+               current_thread_info()->status |= TS_POLLING;
                /* Compute time (ticks) that we were actually asleep */
                sleep_ticks =
                    ticks_elapsed(t1, t2) - cx->latency_ticks - C3_OVERHEAD;