2008-10-05 18:36:54

by Dmitry Torokhov

[permalink] [raw]
Subject: 2.6.27-rc8+ - first impressions

Hi,

Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
64 laptop that is normally runs with Fedora distribution kernel.
Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
speed, fans are constantly on, everything seems sluggish.

Booting with hpet=force (HPET is disabled in BIOS) hangs the box
somewhere in tty_init.

Haven't tried anything else yet.

Here is the config:

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.27-rc8
# Sun Oct 5 12:32:35 2008
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_GROUP_SCHED is not set
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
# CONFIG_CGROUP_MEM_RES_CTLR is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=m
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
# CONFIG_HAVE_ARCH_TRACEHOOK is not set
# CONFIG_HAVE_DMA_ATTRS is not set
# CONFIG_USE_GENERIC_SMP_HELPERS is not set
# CONFIG_HAVE_CLK is not set
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_CLASSIC_RCU=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_VSMP is not set
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
CONFIG_MK8=y
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_CPU=y
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_AMD_IOMMU=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_INTEL is not set
CONFIG_X86_MCE_AMD=y
# CONFIG_I8K is not set
CONFIG_MICROCODE=m
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y

#
# Memory hotplug is currently incompatible with Software Suspend
#
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_COMPAT_VDSO is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_VERBOSE is not set
CONFIG_CAN_PM_TRACE=y
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
# CONFIG_ACPI_BAY is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_WMI=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
CONFIG_ACPI_SBS=m

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
CONFIG_CPU_FREQ_DEBUG=y
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_POWERNOW_K8_ACPI=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_SPEEDSTEP_LIB is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
# CONFIG_DMAR is not set
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_LEGACY is not set
# CONFIG_PCI_DEBUG is not set
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=m
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not set
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_ADVANCED is not set

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_STATE=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV4=m
# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
# CONFIG_NF_NAT_TFTP is not set
# CONFIG_NF_NAT_AMANDA is not set
# CONFIG_NF_NAT_PPTP is not set
# CONFIG_NF_NAT_H323 is not set
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
# CONFIG_BT_HCIBTUSB is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_LL=y
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
# CONFIG_BT_HCIBTUART is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y

#
# Wireless
#
CONFIG_CFG80211=m
CONFIG_NL80211=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_MAC80211=m

#
# Rate control algorithm selection
#
CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_DEFAULT_PID=y
CONFIG_MAC80211_RC_DEFAULT="pid"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_IEEE80211 is not set
CONFIG_RFKILL=m
CONFIG_RFKILL_INPUT=m
CONFIG_RFKILL_LEDS=y
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_PC_PCMCIA is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ACER_WMI is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_FUJITSU_LAPTOP is not set
CONFIG_HP_WMI=m
# CONFIG_MSI_LAPTOP is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_EEEPC_LAPTOP is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
# CONFIG_SCSI_SAS_LIBSAS is not set
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
# CONFIG_SATA_PMP is not set
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ACPI is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
CONFIG_PATA_ATIIXP=m
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_SCH is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#

#
# Enable only one of the two stacks, unless you know what you are doing
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_OHCI_DEBUG=y
CONFIG_FIREWIRE_SBP2=m
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=m

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_MDIO_BITBANG=m
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
# CONFIG_FORCEDETH is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_R6040 is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
# CONFIG_NET_POCKET is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
CONFIG_WLAN_80211=y
# CONFIG_PCMCIA_RAYCS is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_LIBERTAS is not set
# CONFIG_AIRO is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
# CONFIG_AIRO_CS is not set
# CONFIG_PCMCIA_WL3501 is not set
# CONFIG_PRISM54 is not set
# CONFIG_USB_ZD1201 is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_RTL8180 is not set
# CONFIG_RTL8187 is not set
# CONFIG_ADM8211 is not set
# CONFIG_MAC80211_HWSIM is not set
# CONFIG_P54_COMMON is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH9K is not set
# CONFIG_IWLCORE is not set
# CONFIG_IWLWIFI_LEDS is not set
# CONFIG_IWLAGN is not set
# CONFIG_IWL3945 is not set
# CONFIG_HOSTAP is not set
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_PIO=y
CONFIG_B43_LEDS=y
CONFIG_B43_RFKILL=y
CONFIG_B43_DEBUG=y
# CONFIG_B43_FORCE_PIO is not set
# CONFIG_B43LEGACY is not set
# CONFIG_ZD1211RW is not set
# CONFIG_RT2X00 is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_NET_PCMCIA is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
# CONFIG_PPP_BSDCOMP is not set
CONFIG_PPP_MPPE=m
# CONFIG_PPPOE is not set
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NET_FC is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
CONFIG_JOYSTICK_COBRA=m
CONFIG_JOYSTICK_GF2K=m
CONFIG_JOYSTICK_GRIP=m
CONFIG_JOYSTICK_GRIP_MP=m
CONFIG_JOYSTICK_GUILLEMOT=m
CONFIG_JOYSTICK_INTERACT=m
CONFIG_JOYSTICK_SIDEWINDER=m
CONFIG_JOYSTICK_TMDC=m
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=m
CONFIG_JOYSTICK_SPACEORB=m
CONFIG_JOYSTICK_SPACEBALL=m
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
CONFIG_JOYSTICK_ZHENHUA=m
CONFIG_JOYSTICK_DB9=m
CONFIG_JOYSTICK_GAMECON=m
CONFIG_JOYSTICK_TURBOGRAFX=m
CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_UCB1400=m
# CONFIG_TOUCHSCREEN_WM97XX is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_APANEL=m
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_COMPUTONE is not set
CONFIG_ROCKETPORT=m
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
# CONFIG_DIGIEPCA is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not set
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
CONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
CONFIG_NOZOMI=m

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=m
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_NVRAM=y
CONFIG_R3964=m
# CONFIG_APPLICOM is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
CONFIG_CARDMAN_4000=m
CONFIG_CARDMAN_4040=m
CONFIG_IPWIRELESS=m
CONFIG_MWAVE=m
# CONFIG_PC8736x_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_HELPER_AUTO is not set

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_SIMTEC=m

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=m

#
# Graphics adapter I2C/DDC channel drivers
#
CONFIG_I2C_VOODOO3=m

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_STUB=m

#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not set
# CONFIG_AT24 is not set
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_PCF8575=m
# CONFIG_SENSORS_PCA9539 is not set
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_MAX6875=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
# CONFIG_SPI is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
# CONFIG_SENSORS_AD7414 is not set
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7473=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_FSCHMD=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_APPLESMC=m
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
CONFIG_ITCO_WDT=m
CONFIG_ITCO_VENDOR_SUPPORT=y
# CONFIG_IT8712F_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set

#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y

#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set

#
# Multimedia devices
#

#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_VIDEO_MEDIA is not set

#
# Multimedia drivers
#
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_SIS is not set
CONFIG_AGP_VIA=y
CONFIG_DRM=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_DDC=m
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
# CONFIG_FB_EFI is not set
# CONFIG_FB_IMAC is not set
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_ILI9320 is not set
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_CORGI is not set
CONFIG_BACKLIGHT_PROGEAR=m
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=m
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_DYNAMIC_MINORS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=15
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_HIFIER is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_USB is not set
# CONFIG_SND_PCMCIA is not set
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_DEBUG=y
CONFIG_HIDRAW=y

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT_POWERBOOK=y
CONFIG_HID_FF=y
CONFIG_HID_PID=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_PANTHERLORD_FF=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_ZEROPLUS_FF=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
CONFIG_USB_BERRY_CHARGE=m
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_PCA955X is not set

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set

#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y

#
# DMA Devices
#
CONFIG_INTEL_IOATDMA=m
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_KS0108=m
CONFIG_KS0108_PORT=0x378
CONFIG_KS0108_DELAY=2
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
# CONFIG_UIO is not set

#
# Firmware Drivers
#
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EFI_VARS=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND is not set

#
# File systems
#
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4DEV_FS is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_GENERIC_ACL=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFSD is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
CONFIG_DEBUG_PREEMPT=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_HAVE_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
# CONFIG_FTRACE is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
# CONFIG_BUILD_DOCSRC is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
CONFIG_DIRECT_GBPAGES=y
# CONFIG_DEBUG_RODATA_TEST is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_MMIOTRACE is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_FILE_CAPABILITIES=y
# CONFIG_SECURITY_ROOTPLUG is not set
CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
# CONFIG_CRC_T10DIF is not set
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y

--
Dmitry


2008-10-05 18:55:46

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> Hi,
>
> Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> 64 laptop that is normally runs with Fedora distribution kernel.
> Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> speed, fans are constantly on, everything seems sluggish.
>
> Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> somewhere in tty_init.

Is that an HP box, by chance?

Rafael

2008-10-05 19:07:21

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sun, Oct 05, 2008 at 08:59:49PM +0200, Rafael J. Wysocki wrote:
> On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > Hi,
> >
> > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > 64 laptop that is normally runs with Fedora distribution kernel.
> > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > speed, fans are constantly on, everything seems sluggish.
> >
> > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > somewhere in tty_init.
>
> Is that an HP box, by chance?
>

Yeah, HP nx6115.

--
Dmitry

2008-10-05 19:11:44

by Arjan van de Ven

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sun, 5 Oct 2008 14:36:25 -0400
Dmitry Torokhov <[email protected]> wrote:

> Hi,
>
> Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> 64 laptop that is normally runs with Fedora distribution kernel.
> Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> speed, fans are constantly on, everything seems sluggish.
>
> Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> somewhere in tty_init.

hpet=force is a "the kernel thinks it's not wise to use, but you think
better"... don't do that ;(


--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org

2008-10-05 19:15:24

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> On Sun, Oct 05, 2008 at 08:59:49PM +0200, Rafael J. Wysocki wrote:
> > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > Hi,
> > >
> > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > speed, fans are constantly on, everything seems sluggish.
> > >
> > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > somewhere in tty_init.
> >
> > Is that an HP box, by chance?
> >
>
> Yeah, HP nx6115.

Oh well.

Please send me the output of dmidecode from it.

Thanks,
Rafael

2008-10-05 19:27:51

by Thomas Gleixner

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sun, 5 Oct 2008, Rafael J. Wysocki wrote:
> On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > On Sun, Oct 05, 2008 at 08:59:49PM +0200, Rafael J. Wysocki wrote:
> > > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > > Hi,
> > > >
> > > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > > speed, fans are constantly on, everything seems sluggish.
> > > >
> > > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > > somewhere in tty_init.
> > >
> > > Is that an HP box, by chance?
> > >
> >
> > Yeah, HP nx6115.
>
> Oh well.
>
> Please send me the output of dmidecode from it.

Please send me bootlog (output of dmesg) and output of "cat /proc/timer_list"

Thanks,

tglx

2008-10-05 21:20:57

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sun, Oct 05, 2008 at 09:19:13PM +0200, Rafael J. Wysocki wrote:
> On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > On Sun, Oct 05, 2008 at 08:59:49PM +0200, Rafael J. Wysocki wrote:
> > > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > > Hi,
> > > >
> > > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > > speed, fans are constantly on, everything seems sluggish.
> > > >
> > > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > > somewhere in tty_init.
> > >
> > > Is that an HP box, by chance?
> > >
> >
> > Yeah, HP nx6115.
>
> Oh well.
>
> Please send me the output of dmidecode from it.
>

Here you go:

# dmidecode 2.9
SMBIOS 2.3 present.
23 structures occupying 972 bytes.
Table at 0x000FC68F.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
Vendor: Hewlett-Packard
Version: 68DTT Ver. F.0D
Release Date: 11/22/2005
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 1024 kB
Characteristics:
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
3.5"/720 KB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
Smart battery is supported
BIOS boot specification is supported
Function key-initiated network boot is supported

Handle 0x0001, DMI type 1, 25 bytes
System Information
Manufacturer: Hewlett-Packard
Product Name: HP Compaq nx6115 (PZ886UA#ABA)
Version: F.0D
Serial Number: CND6080M6F
UUID: B58EC937-7FA3-DA11-15A0-66990C033D29
Wake-up Type: Power Switch

Handle 0x0040, DMI type 126, 4 bytes
Inactive

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: Hewlett-Packard
Product Name: 308E
Version: KBC Version 45.25
Serial Number: Not Specified

Handle 0x0003, DMI type 3, 13 bytes
Chassis Information
Manufacturer: Hewlett-Packard
Type: Notebook
Lock: Not Present
Version: Not Specified
Serial Number: CND6080M6F
Asset Tag:
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: External Interface Enabled

Handle 0x0041, DMI type 126, 4 bytes
Inactive

Handle 0x0004, DMI type 4, 35 bytes
Processor Information
Socket Designation: U10
Type: Central Processor
Family: Pentium M
Manufacturer: AMD(R)
ID: 42 0F 02 00 FF FB 8B 07
Signature: Type 0, Family 15, Model 36, Stepping 2
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
Version: AMD Turion(tm) 64 Mobile ML-30
Voltage: 1.1 V
External Clock: 200 MHz
Max Speed: 1600 MHz
Current Speed: 1600 MHz
Status: Populated, Enabled
Upgrade: None
L1 Cache Handle: 0x0005
L2 Cache Handle: 0x0006
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0005, DMI type 7, 19 bytes
Cache Information
Socket Designation: Internal L1 Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 128 KB
Maximum Size: 128 KB
Supported SRAM Types:
Burst
Installed SRAM Type: Burst
Speed: Unknown
Error Correction Type: Unknown
System Type: Unified
Associativity: 4-way Set-associative

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
Socket Designation: Internal L2 Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: External
Installed Size: 1024 KB
Maximum Size: 1024 KB
Supported SRAM Types:
Burst
Installed SRAM Type: Burst
Speed: Unknown
Error Correction Type: None
System Type: Unified
Associativity: 4-way Set-associative

Handle 0x0007, DMI type 9, 13 bytes
System Slot Information
Designation: PC CARD-Slot 0
Type: 32-bit PC Card (PCMCIA)
Current Usage: Available
Length: Short
ID: Adapter 0, Socket 0
Characteristics:
5.0 V is provided
3.3 V is provided
PC Card-16 is supported
Cardbus is supported
PME signal is supported

Handle 0x0008, DMI type 10, 6 bytes
On Board Device Information
Type: Video
Status: Enabled
Description: 128

Handle 0x0009, DMI type 11, 5 bytes
OEM Strings
String 1: http://www.hp.com

Handle 0x000A, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 2 GB
Error Information Handle: No Error
Number Of Devices: 2

Handle 0x000B, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000A
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 512 MB
Form Factor: SODIMM
Set: None
Locator: DIMM #1
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Manufacturer: 7FA8000000000000
Serial Number: 00000000
Asset Tag: Not Specified
Part Number:

Handle 0x000C, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000A
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 512 MB
Form Factor: SODIMM
Set: None
Locator: DIMM #2
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Manufacturer: CE00000000000000
Serial Number: 02077132
Asset Tag: Not Specified
Part Number: M4 70L6524CU0-CB3

Handle 0x000D, DMI type 19, 15 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0003FFFFFFF
Range Size: 1 GB
Physical Array Handle: 0x000A
Partition Width: 0

Handle 0x000E, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0001FFFFFFF
Range Size: 512 MB
Physical Device Handle: 0x000B
Memory Array Mapped Address Handle: 0x000D
Partition Row Position: 1

Handle 0x000F, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00020000000
Ending Address: 0x0003FFFFFFF
Range Size: 512 MB
Physical Device Handle: 0x000C
Memory Array Mapped Address Handle: 0x000D
Partition Row Position: 2

Handle 0x0010, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected

Handle 0x0085, DMI type 133, 34 bytes
OEM-specific Type
Header and Data:
85 22 85 00 01 A0 0F D9 02 D7 02 02 00 68 00 1C
00 7B 30 00 00 30 2A 02 E0 40 00 00 31 10 07 10
44 10
Strings:
00159 12/16/2005
HP

Handle 0x0086, DMI type 134, 34 bytes
OEM-specific Type
Header and Data:
86 22 86 00 01 A0 0F D6 0B 30 0B 02 00 13 01 1C
00 2D 3F 00 00 40 38 02 E0 40 CE 0F CF 0F CA 0F
C6 0F
Strings:
46335 11/04/2005
HP

Handle 0x0011, DMI type 144, 26 bytes
OEM-specific Type
Header and Data:
90 1A 11 00 90 00 41 00 FC 00 67 00 96 00 DE 01
00 00 00 00 01 00 CD 01 00 00

Handle 0x0012, DMI type 127, 4 bytes
End Of Table

--
Dmitry

2008-10-05 21:40:54

by Parag Warudkar

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sun, Oct 5, 2008 at 5:18 PM, Dmitry Torokhov
<[email protected]> wrote:

> Vendor: Hewlett-Packard
> Version: 68DTT Ver. F.0D
> Release Date: 11/22/2005

Not sure if the HPET related things are better in the latest release
of the 6915 BIOS - which is F12 [*].
But may be worth trying?

[*'] http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=in&prodTypeId=321957&prodSeriesId=471752&swItem=ob-59364-1&prodNameId=471755&swEnvOID=1093&swLang=8&taskId=135&mode=4&idx=2

Parag

2008-10-05 22:25:52

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> On Sun, Oct 05, 2008 at 09:19:13PM +0200, Rafael J. Wysocki wrote:
> > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > On Sun, Oct 05, 2008 at 08:59:49PM +0200, Rafael J. Wysocki wrote:
> > > > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > > > Hi,
> > > > >
> > > > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > > > speed, fans are constantly on, everything seems sluggish.
> > > > >
> > > > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > > > somewhere in tty_init.
> > > >
> > > > Is that an HP box, by chance?
> > > >
> > >
> > > Yeah, HP nx6115.
> >
> > Oh well.
> >
> > Please send me the output of dmidecode from it.
> >
>
> Here you go:

Thanks.

Please see if the appended patch helps.

Rafael


Not-yet-signed-off-by: Rafael J. Wysocki <[email protected]>
---
arch/x86/kernel/acpi/boot.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

Index: linux-2.6/arch/x86/kernel/acpi/boot.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/acpi/boot.c
+++ linux-2.6/arch/x86/kernel/acpi/boot.c
@@ -1605,6 +1605,14 @@ static struct dmi_system_id __initdata a
*/
{
.callback = dmi_ignore_irq0_timer_override,
+ .ident = "HP nx6115 laptop",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6115"),
+ },
+ },
+ {
+ .callback = dmi_ignore_irq0_timer_override,
.ident = "HP NX6125 laptop",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
@@ -1619,6 +1627,14 @@ static struct dmi_system_id __initdata a
DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6325"),
},
},
+ {
+ .callback = dmi_ignore_irq0_timer_override,
+ .ident = "HP 6715b laptop",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq 6715b"),
+ },
+ },
{}
};

2008-10-06 06:23:18

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Mon, Oct 06, 2008 at 12:29:42AM +0200, Rafael J. Wysocki wrote:
> On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > On Sun, Oct 05, 2008 at 09:19:13PM +0200, Rafael J. Wysocki wrote:
> > > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > > On Sun, Oct 05, 2008 at 08:59:49PM +0200, Rafael J. Wysocki wrote:
> > > > > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > > > > Hi,
> > > > > >
> > > > > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > > > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > > > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > > > > speed, fans are constantly on, everything seems sluggish.
> > > > > >
> > > > > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > > > > somewhere in tty_init.
> > > > >
> > > > > Is that an HP box, by chance?
> > > > >
> > > >
> > > > Yeah, HP nx6115.
> > >
> > > Oh well.
> > >
> > > Please send me the output of dmidecode from it.
> > >
> >
> > Here you go:
>
> Thanks.
>
> Please see if the appended patch helps.
>

Yep, works great, everything is zappy, hdparm reports 30Mb/s and fan is
off. Thanks a lot!

Although I wonder why this blacklist is needed now, earlier kernels were
able to cope with this condition.

--
Dmitry

2008-10-06 06:28:54

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Sun, Oct 05, 2008 at 12:10:46PM -0700, Arjan van de Ven wrote:
> On Sun, 5 Oct 2008 14:36:25 -0400
> Dmitry Torokhov <[email protected]> wrote:
>
> > Hi,
> >
> > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > 64 laptop that is normally runs with Fedora distribution kernel.
> > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > speed, fans are constantly on, everything seems sluggish.
> >
> > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > somewhere in tty_init.
>
> hpet=force is a "the kernel thinks it's not wise to use, but you think
> better"... don't do that ;(
>

That is not how I parse dmesg:

[ 0.077927] HPET not enabled in BIOS. You might try hpet=force boot
option

Here kernel recommends to try and enable it. If we generally don't recommed
using 'force' I'd suggest removing the 2nd sentence from the message.

--
Dmitry

2008-10-06 09:55:34

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Monday, 6 of October 2008, Dmitry Torokhov wrote:
> On Mon, Oct 06, 2008 at 12:29:42AM +0200, Rafael J. Wysocki wrote:
> > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > On Sun, Oct 05, 2008 at 09:19:13PM +0200, Rafael J. Wysocki wrote:
> > > > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > > > On Sun, Oct 05, 2008 at 08:59:49PM +0200, Rafael J. Wysocki wrote:
> > > > > > On Sunday, 5 of October 2008, Dmitry Torokhov wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > > > > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > > > > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > > > > > speed, fans are constantly on, everything seems sluggish.
> > > > > > >
> > > > > > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > > > > > somewhere in tty_init.
> > > > > >
> > > > > > Is that an HP box, by chance?
> > > > > >
> > > > >
> > > > > Yeah, HP nx6115.
> > > >
> > > > Oh well.
> > > >
> > > > Please send me the output of dmidecode from it.
> > > >
> > >
> > > Here you go:
> >
> > Thanks.
> >
> > Please see if the appended patch helps.
> >
>
> Yep, works great, everything is zappy, hdparm reports 30Mb/s and fan is
> off. Thanks a lot!

OK, thanks for the confirmation. Below is a changelogged version for
inclusion.

> Although I wonder why this blacklist is needed now, earlier kernels were
> able to cope with this condition.

Please see the changelog. :-)

Thanks,
Rafael

---
From: Rafael J. Wysocki <[email protected]>

x86 ACPI: Blacklist two HP machines with buggy BIOSes

There is a bug in the BIOSes of some HP boxes with AMD Turions which
connects IO-APIC pins with ACPI thermal trip points in such a way
that if the state of the IO-APIC is not as expected by the (buggy)
BIOS, the thermal trip points are set to insanely low values
(usually all of them become 16 degrees Celsius). As a result,
thermal throttling kicks in and knock the system down to its shoes.

Unfortunately some of the recent IO-APIC changes made the bug show
up. To prevent this from happening, blacklist machines that are
known to be affected (nx6115 and 6715b in this particular case).

This fixes http://bugzilla.kernel.org/show_bug.cgi?id=11516 listed as
a regression from 2.6.26.

Signed-off-by: Rafael J. Wysocki <[email protected]>
Tested-by: Dmitry Torokhov <[email protected]>
Tested-by: Jason Vas Dias <[email protected]>
---
arch/x86/kernel/acpi/boot.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

Index: linux-2.6/arch/x86/kernel/acpi/boot.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/acpi/boot.c
+++ linux-2.6/arch/x86/kernel/acpi/boot.c
@@ -1605,6 +1605,14 @@ static struct dmi_system_id __initdata a
*/
{
.callback = dmi_ignore_irq0_timer_override,
+ .ident = "HP nx6115 laptop",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6115"),
+ },
+ },
+ {
+ .callback = dmi_ignore_irq0_timer_override,
.ident = "HP NX6125 laptop",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
@@ -1619,6 +1627,14 @@ static struct dmi_system_id __initdata a
DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6325"),
},
},
+ {
+ .callback = dmi_ignore_irq0_timer_override,
+ .ident = "HP 6715b laptop",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq 6715b"),
+ },
+ },
{}
};

2008-10-06 14:55:29

by Linus Torvalds

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)



On Mon, 6 Oct 2008, Rafael J. Wysocki wrote:
>
> Unfortunately some of the recent IO-APIC changes made the bug show
> up. To prevent this from happening, blacklist machines that are
> known to be affected (nx6115 and 6715b in this particular case).

Can you point to exactly _which_ recent change made it show up? I'd really
like to know. _What_ was it that made us suddenly need this quirk when it
wasn't necessary before? I'd like to understand the root cause here.

And how did you even start looking at that strange ACPI override?

Linus

2008-10-06 15:01:25

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)


* Linus Torvalds <[email protected]> wrote:

> On Mon, 6 Oct 2008, Rafael J. Wysocki wrote:
> >
> > Unfortunately some of the recent IO-APIC changes made the bug show
> > up. To prevent this from happening, blacklist machines that are
> > known to be affected (nx6115 and 6715b in this particular case).
>
> Can you point to exactly _which_ recent change made it show up? I'd
> really like to know. _What_ was it that made us suddenly need this
> quirk when it wasn't necessary before? I'd like to understand the root
> cause here.
>
> And how did you even start looking at that strange ACPI override?

i think it was caused by this stream of IO-APIC changes:

49a66a0: x86: I/O APIC: Always report how the timer has been set up
17c4469: x86: I/O APIC: Include <asm/i8259.h> required by some code
593f4a7: x86: APIC: remove apic_write_around(); use alternatives
ce8b06b: x86: I/O APIC: remove an IRQ2-mask hack
af17478: x86: I/O APIC: Never configure IRQ2
c88ac1d: x86: L-APIC: Always fully configure IRQ0
1baea6e: x86: L-APIC: Set IRQ0 as edge-triggered

Rafael/Maciej, which of these is causing it? ce8b06b ("x86: I/O APIC:
remove an IRQ2-mask hack")?

Current theory is that this specific flavor of BIOS on HP / AMD / Turion
laptops (no other type is known to be affected at the moment) somehow
detects the IO-APIC masking patterns and uses an SMI quirk to change the
ACPI thermal trip point to very low settings, and thus confusing cpufreq
to (correctly) go into a very slow frequency.

Activating the quirk works this around. Should we perhaps default to
this 'quirk' enabled by default?

Ingo

2008-10-06 17:11:19

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Monday, 6 of October 2008, Linus Torvalds wrote:
>
> On Mon, 6 Oct 2008, Rafael J. Wysocki wrote:
> >
> > Unfortunately some of the recent IO-APIC changes made the bug show
> > up. To prevent this from happening, blacklist machines that are
> > known to be affected (nx6115 and 6715b in this particular case).
>
> Can you point to exactly _which_ recent change made it show up? I'd really
> like to know. _What_ was it that made us suddenly need this quirk when it
> wasn't necessary before? I'd like to understand the root cause here.

On my box it was caused by:

commit 691874fa96d6349a8b60f8ea9c2bae52ece79941
Author: Maciej W. Rozycki <[email protected]>
Date: Tue May 27 21:19:51 2008 +0100

x86: I/O APIC: timer through 8259A second-chance

Signed-off-by: Maciej W. Rozycki <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>

and the whole story is described in this (huge) thread:
http://marc.info/?l=linux-kernel&m=121358440508410&w=4

> And how did you even start looking at that strange ACPI override?

Well, Matthew Garrett told us about that happening on the nx6125:

http://marc.info/?l=linux-kernel&m=121396307411930&w=4

and then Maciej analysed the breakage on the basis of a DSDT from the nx6325:

http://marc.info/?l=linux-kernel&m=121401068718826&w=4

As far as the Dmitry's and Jason's boxes are concerned, I recognized the
symptoms and asked them to verify that the blacklisting helped.

It appears that the buggy BIOS code has been copy-pasted to the entire range of
machines, for no good reason.

Thanks,
Rafael

2008-10-06 17:13:18

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Monday, 6 of October 2008, Ingo Molnar wrote:
>
> * Linus Torvalds <[email protected]> wrote:
>
> > On Mon, 6 Oct 2008, Rafael J. Wysocki wrote:
> > >
> > > Unfortunately some of the recent IO-APIC changes made the bug show
> > > up. To prevent this from happening, blacklist machines that are
> > > known to be affected (nx6115 and 6715b in this particular case).
> >
> > Can you point to exactly _which_ recent change made it show up? I'd
> > really like to know. _What_ was it that made us suddenly need this
> > quirk when it wasn't necessary before? I'd like to understand the root
> > cause here.
> >
> > And how did you even start looking at that strange ACPI override?
>
> i think it was caused by this stream of IO-APIC changes:
>
> 49a66a0: x86: I/O APIC: Always report how the timer has been set up
> 17c4469: x86: I/O APIC: Include <asm/i8259.h> required by some code
> 593f4a7: x86: APIC: remove apic_write_around(); use alternatives
> ce8b06b: x86: I/O APIC: remove an IRQ2-mask hack
> af17478: x86: I/O APIC: Never configure IRQ2
> c88ac1d: x86: L-APIC: Always fully configure IRQ0
> 1baea6e: x86: L-APIC: Set IRQ0 as edge-triggered
>
> Rafael/Maciej, which of these is causing it? ce8b06b ("x86: I/O APIC:
> remove an IRQ2-mask hack")?

As I wrote to Linus, on my machine it was

commit 691874fa96d6349a8b60f8ea9c2bae52ece79941
Author: Maciej W. Rozycki <[email protected]>
Date: Tue May 27 21:19:51 2008 +0100

x86: I/O APIC: timer through 8259A second-chance

> Current theory is that this specific flavor of BIOS on HP / AMD / Turion
> laptops (no other type is known to be affected at the moment) somehow
> detects the IO-APIC masking patterns and uses an SMI quirk to change the
> ACPI thermal trip point to very low settings, and thus confusing cpufreq
> to (correctly) go into a very slow frequency.
>
> Activating the quirk works this around. Should we perhaps default to
> this 'quirk' enabled by default?

Well, I don't know.

Thanks,
Rafael

2008-10-06 17:55:47

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)


* Maciej W. Rozycki <[email protected]> wrote:

> On Mon, 6 Oct 2008, Ingo Molnar wrote:
>
> > i think it was caused by this stream of IO-APIC changes:
> >
> > 49a66a0: x86: I/O APIC: Always report how the timer has been set up
> > 17c4469: x86: I/O APIC: Include <asm/i8259.h> required by some code
> > 593f4a7: x86: APIC: remove apic_write_around(); use alternatives
> > ce8b06b: x86: I/O APIC: remove an IRQ2-mask hack
> > af17478: x86: I/O APIC: Never configure IRQ2
> > c88ac1d: x86: L-APIC: Always fully configure IRQ0
> > 1baea6e: x86: L-APIC: Set IRQ0 as edge-triggered
> >
> > Rafael/Maciej, which of these is causing it? ce8b06b ("x86: I/O APIC:
> > remove an IRQ2-mask hack")?
>
> None of the above. This:
>
> 691874f: x86: I/O APIC: timer through 8259A second-chance
>
> This change has fixed a problem with the timer for a lot of systems
> and permitted the removal of a bunch of horrible hacks we used to have
> in our I/O-APIC/timer code, including a command-line override
> parameter, needed so that some systems would boot at all.
>
> This single instance of a piece of some HP gear being twisted beyond
> belief is IMO a minor annoyance and price to pay compared to the gain.
> Please note that apart from the DSDT being buggy on this machine, it
> has an incorrect IRQ 0 override in the ACPI table pointing to the pin
> #2 of the I/O APIC, which is in fact routed to the output of the
> master 8259A. Additionally the pin #0 of the I/O APIC which is indeed
> routed to the output of the 8254 does not receive any interrupts,
> presumably because of some misconfiguration during BIOS
> initialisation. So in fact this machine suffers from three
> configuration problems at once of which all add up to the end result
> we can observe.

okay. Perhaps we can find some better DMI filter for affected
HP+AMD+Turion laptops - how futile that might be. No chance to have some
automated non-DMI check?

Ingo

2008-10-06 18:21:31

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Mon, 6 Oct 2008, Rafael J. Wysocki wrote:

> It appears that the buggy BIOS code has been copy-pasted to the entire range of
> machines, for no good reason.

The DSDT is specific to the chipset -- the ATI/AMD SB400 southbridge in
this case -- there is no need to change it for any changes in the
surrounding hardware components.

Maciej

2008-10-06 18:21:44

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Mon, 6 Oct 2008, Ingo Molnar wrote:

> i think it was caused by this stream of IO-APIC changes:
>
> 49a66a0: x86: I/O APIC: Always report how the timer has been set up
> 17c4469: x86: I/O APIC: Include <asm/i8259.h> required by some code
> 593f4a7: x86: APIC: remove apic_write_around(); use alternatives
> ce8b06b: x86: I/O APIC: remove an IRQ2-mask hack
> af17478: x86: I/O APIC: Never configure IRQ2
> c88ac1d: x86: L-APIC: Always fully configure IRQ0
> 1baea6e: x86: L-APIC: Set IRQ0 as edge-triggered
>
> Rafael/Maciej, which of these is causing it? ce8b06b ("x86: I/O APIC:
> remove an IRQ2-mask hack")?

None of the above. This:

691874f: x86: I/O APIC: timer through 8259A second-chance

This change has fixed a problem with the timer for a lot of systems and
permitted the removal of a bunch of horrible hacks we used to have in our
I/O-APIC/timer code, including a command-line override parameter, needed
so that some systems would boot at all.

This single instance of a piece of some HP gear being twisted beyond
belief is IMO a minor annoyance and price to pay compared to the gain.
Please note that apart from the DSDT being buggy on this machine, it has
an incorrect IRQ 0 override in the ACPI table pointing to the pin #2 of
the I/O APIC, which is in fact routed to the output of the master 8259A.
Additionally the pin #0 of the I/O APIC which is indeed routed to the
output of the 8254 does not receive any interrupts, presumably because of
some misconfiguration during BIOS initialisation. So in fact this machine
suffers from three configuration problems at once of which all add up to
the end result we can observe.

> Current theory is that this specific flavor of BIOS on HP / AMD / Turion
> laptops (no other type is known to be affected at the moment) somehow
> detects the IO-APIC masking patterns and uses an SMI quirk to change the
> ACPI thermal trip point to very low settings, and thus confusing cpufreq
> to (correctly) go into a very slow frequency.

It is not just theory. I did actually analyse the AML code coming from
the broken DSDT and found the responsible snippets. See:
http://lkml.org/lkml/2008/6/20/442 for a reference. No SMI is involved
here -- this is native ACPI operation -- Linux calls these snippets
explicitly as required by the ACPI spec for various actions.

> Activating the quirk works this around. Should we perhaps default to
> this 'quirk' enabled by default?

It will break many if not most of the systems out there which have the
PIT (rather than the master 8259A) wired to the pin #2 of the I/O APIC
and correctly reported as such with an ACPI IRQ override.

Maciej

Subject: Re: 2.6.27-rc8+ - first impressions

On Mon, Oct 06, 2008 at 02:28:39AM -0400, Dmitry Torokhov wrote:
> On Sun, Oct 05, 2008 at 12:10:46PM -0700, Arjan van de Ven wrote:
> > On Sun, 5 Oct 2008 14:36:25 -0400
> > Dmitry Torokhov <[email protected]> wrote:
> >
> > > Hi,
> > >
> > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > speed, fans are constantly on, everything seems sluggish.
> > >
> > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > somewhere in tty_init.
> >
> > hpet=force is a "the kernel thinks it's not wise to use, but you think
> > better"... don't do that ;(
> >
>
> That is not how I parse dmesg:
>
> [ 0.077927] HPET not enabled in BIOS. You might try hpet=force boot
> option
>
> Here kernel recommends to try and enable it. If we generally don't recommed
> using 'force' I'd suggest removing the 2nd sentence from the message.

FYI.
Commit e7250b8ae3870f37f660c2f65cafcaba85e3bfd3 of tip/master is
needed to really enable hpet on SB400. I guess that patch should go
upstream asap -- and probably it's a good idea to add a check for timer
interrupt routing as well which could solve the issues on HP nx6xxx
laptops.


Regards,

Andreas

2008-10-06 20:59:48

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

"Maciej W. Rozycki" <[email protected]> writes:
>
> This single instance of a piece of some HP gear being twisted beyond
> belief is IMO a minor annoyance and price to pay compared to the gain.
> Please note that apart from the DSDT being buggy on this machine, it has
> an incorrect IRQ 0 override in the ACPI table pointing to the pin #2 of
> the I/O APIC, which is in fact routed to the output of the master 8259A.
> Additionally the pin #0 of the I/O APIC which is indeed routed to the
> output of the 8254 does not receive any interrupts, presumably because of
> some misconfiguration during BIOS initialisation.

The real reason is actually a workaround in the BIOS for problems
in the older Linux code that caused duplicated timer interrupts. The
old Linux would fall into "enable both IO-APIC and 8259" fallback mode
and the resulted in duplicated timer events, which made everything unhappy.
They instead configured the northbridge in a way that one of the inputs
is ignored.

You won't be able to DMI list it, that workaround is widely used
in lots of different systems.

-andi

2008-10-06 21:39:42

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Mon, 6 Oct 2008, Andi Kleen wrote:

> The real reason is actually a workaround in the BIOS for problems
> in the older Linux code that caused duplicated timer interrupts. The
> old Linux would fall into "enable both IO-APIC and 8259" fallback mode
> and the resulted in duplicated timer events, which made everything unhappy.
> They instead configured the northbridge in a way that one of the inputs
> is ignored.

Hmm, working around Linux problems in the BIOS is a new and truly odd
concept to me. It's not that we are unresponsive or do not take
responsibility for our bugs, is it?

> You won't be able to DMI list it, that workaround is widely used
> in lots of different systems.

Well, perhaps, but the thermal trip point phenomenon seems unique to this
family of systems. The other aspects of the problem do not really matter
anymore as we seem to have addressed them robustly enough now.

Maciej

Subject: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

On Mon, Oct 06, 2008 at 10:39:25PM +0100, Maciej W. Rozycki wrote:
> On Mon, 6 Oct 2008, Andi Kleen wrote:
>
> > The real reason is actually a workaround in the BIOS for problems
> > in the older Linux code that caused duplicated timer interrupts. The
> > old Linux would fall into "enable both IO-APIC and 8259" fallback mode
> > and the resulted in duplicated timer events, which made everything unhappy.
> > They instead configured the northbridge in a way that one of the inputs
> > is ignored.
>
> Hmm, working around Linux problems in the BIOS is a new and truly odd
> concept to me. It's not that we are unresponsive or do not take
> responsibility for our bugs, is it?

So, let's work around BIOS bugs in Linux then ...

Following patch is almost untested -- especially I didn't get my
hands on one of the HP Laptops with broken DSDT.


Regards,

Andreas

--

On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override
but the SB450 chipset is configured such that timer interrupts goe to
INT0 of IOAPIC.

Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the
timer override.

Signed-off-by: Andreas Herrmann <[email protected]>
---
arch/x86/kernel/early-quirks.c | 48 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index 4353cf5..6b839b1 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -95,6 +95,52 @@ static void __init nvidia_bugs(int num, int slot, int func)

}

+static u32 ati_ixp4x0_rev(int num, int slot, int func)
+{
+ u32 d;
+ u8 b;
+
+ b = read_pci_config_byte(num, slot, func, 0xac);
+ b &= ~(1<<5);
+ write_pci_config_byte(num, slot, func, 0xac, b);
+
+ d = read_pci_config(num, slot, func, 0x70);
+ d |= 1<<8;
+ write_pci_config(num, slot, func, 0x70, d);
+
+ d = read_pci_config(num, slot, func, 0x8);
+ d &= 0xff;
+ return d;
+}
+
+static void __init ati_bugs(int num, int slot, int func)
+{
+#if defined(CONFIG_ACPI) && defined (CONFIG_X86_IO_APIC)
+ u32 d;
+ u8 b;
+
+ if (acpi_use_timer_override)
+ return;
+
+ d = ati_ixp4x0_rev(num, slot, func);
+ if (d < 0x82)
+ acpi_skip_timer_override = 1;
+ else {
+ /* check for IRQ0 interrupt swap */
+ outb(0x72, 0xcd6); b = inb(0xcd7);
+ if (!(b & 0x2))
+ acpi_skip_timer_override = 1;
+ }
+
+ if (acpi_skip_timer_override) {
+ printk(KERN_INFO "SB4X0 revision 0x%x\n", d);
+ printk(KERN_INFO "Ignoring ACPI timer override.\n");
+ printk(KERN_INFO "If you got timer trouble "
+ "try acpi_use_timer_override\n");
+ }
+#endif
+}
+
#define QFLAG_APPLY_ONCE 0x1
#define QFLAG_APPLIED 0x2
#define QFLAG_DONE (QFLAG_APPLY_ONCE|QFLAG_APPLIED)
@@ -114,6 +160,8 @@ static struct chipset early_qrk[] __initdata = {
PCI_CLASS_BRIDGE_PCI, PCI_ANY_ID, QFLAG_APPLY_ONCE, via_bugs },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB,
PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, fix_hypertransport_config },
+ { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS,
+ PCI_CLASS_SERIAL_SMBUS, PCI_ANY_ID, 0, ati_bugs },
{}
};

--
1.6.0.2


2008-10-06 23:04:16

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Mon, Oct 06, 2008 at 10:39:25PM +0100, Maciej W. Rozycki wrote:
> On Mon, 6 Oct 2008, Andi Kleen wrote:
>
> > The real reason is actually a workaround in the BIOS for problems
> > in the older Linux code that caused duplicated timer interrupts. The
> > old Linux would fall into "enable both IO-APIC and 8259" fallback mode
> > and the resulted in duplicated timer events, which made everything unhappy.
> > They instead configured the northbridge in a way that one of the inputs
> > is ignored.
>
> Hmm, working around Linux problems in the BIOS is a new and truly odd
> concept to me.

Except perhaps for the cheapest consumer parts and many laptops Linux is
definitely on the radar now for many BIOS developers.

> It's not that we are unresponsive or do not take
> responsibility for our bugs, is it?

These workarounds are not for mainline kernels but for specific
distribution releases (as in "fixes SLES/RHEL x.y" instead of
"fixes 2.6.xy")

Even when the distributors update their kernels the old releases
do not go away are still used and the workarounds get in.

> > You won't be able to DMI list it, that workaround is widely used
> > in lots of different systems.
>
> Well, perhaps, but the thermal trip point phenomenon seems unique to this
> family of systems. The other aspects of the problem do not really matter
> anymore as we seem to have addressed them robustly enough now.

When you need DMI entries you clearly haven't.

-Andi

2008-10-07 01:35:20

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Tue, 7 Oct 2008, Andi Kleen wrote:

> > Hmm, working around Linux problems in the BIOS is a new and truly odd
> > concept to me.
>
> Except perhaps for the cheapest consumer parts and many laptops Linux is
> definitely on the radar now for many BIOS developers.

That's not my point.

> > It's not that we are unresponsive or do not take
> > responsibility for our bugs, is it?
>
> These workarounds are not for mainline kernels but for specific
> distribution releases (as in "fixes SLES/RHEL x.y" instead of
> "fixes 2.6.xy")

I am happy to fix any bugs I introduced myself (as much as one can be
happy about mistakes once they have discovered they made them that is) and
certainly have a look into other Linux bugs by request of any vendor of a
Linux distribution made on behalf of a hardware manufacturer.

OTOH I do not feel responsible even a little bit for someone else's bugs
like those of BIOS developers. Though I will certainly consider providing
them with any assistance needed to get things related to Linux resolved in
a best possible way if they ask nicely.

> Even when the distributors update their kernels the old releases
> do not go away are still used and the workarounds get in.

It is not unreasonable to require a version of a distribution that is
current at the time a piece of hardware has been released. Hardware
vendors only support certain versions of certain operating systems if any
at all and Linux makes no difference here. Except from the bureaucracy
needed, or actually the lack of, to get something we have done wrong
rectified. The community may support anything beyond that of course, like
running Linux 1.2.13 on that brand new server.

> > Well, perhaps, but the thermal trip point phenomenon seems unique to this
> > family of systems. The other aspects of the problem do not really matter
> > anymore as we seem to have addressed them robustly enough now.
>
> When you need DMI entries you clearly haven't.

You can't just break a piece of hardware randomly (setting the thermal
trip points based on an interrupt mask of an I/O APIC input is certainly
beyond the ACPI spec), hide its documentation and still demand it to be
supported correctly, possibly hurting all the other good equipment.
Sorry -- you have to draw a line somewhere. Others seem to agree as
otherwise we wouldn't have DMI matching in the first place. The same
applies to PCI quirks. And command line arguments to activate workarounds
are worse yet, but we do have them too. We wouldn't need any of these if
all the hardware was built to the relevant specs.

Maciej

2008-10-07 03:42:17

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC


* Andreas Herrmann <[email protected]> wrote:

> So, let's work around BIOS bugs in Linux then ...
>
> Following patch is almost untested -- especially I didn't get my hands
> on one of the HP Laptops with broken DSDT.
[...]
> On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override
> but the SB450 chipset is configured such that timer interrupts goe to
> INT0 of IOAPIC.
>
> Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the
> timer override.
>
> Signed-off-by: Andreas Herrmann <[email protected]>
>
> ---
> arch/x86/kernel/early-quirks.c | 48 ++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 48 insertions(+), 0 deletions(-)

very nice, thanks Andreas! Applied to tip/x86/quirks. This PCI ID based
quirk should be more complete than DMI matches.

Ingo

2008-10-07 03:42:53

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Mon, Oct 06, 2008 at 09:53:50PM +0200, Andreas Herrmann wrote:
> On Mon, Oct 06, 2008 at 02:28:39AM -0400, Dmitry Torokhov wrote:
> > On Sun, Oct 05, 2008 at 12:10:46PM -0700, Arjan van de Ven wrote:
> > > On Sun, 5 Oct 2008 14:36:25 -0400
> > > Dmitry Torokhov <[email protected]> wrote:
> > >
> > > > Hi,
> > > >
> > > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > > speed, fans are constantly on, everything seems sluggish.
> > > >
> > > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > > somewhere in tty_init.
> > >
> > > hpet=force is a "the kernel thinks it's not wise to use, but you think
> > > better"... don't do that ;(
> > >
> >
> > That is not how I parse dmesg:
> >
> > [ 0.077927] HPET not enabled in BIOS. You might try hpet=force boot
> > option
> >
> > Here kernel recommends to try and enable it. If we generally don't recommed
> > using 'force' I'd suggest removing the 2nd sentence from the message.
>
> FYI.
> Commit e7250b8ae3870f37f660c2f65cafcaba85e3bfd3 of tip/master is
> needed to really enable hpet on SB400. I guess that patch should go
> upstream asap -- and probably it's a good idea to add a check for timer
> interrupt routing as well which could solve the issues on HP nx6xxx
> laptops.
>

Having trouble locating this one. Could you please send me a patch so I
can try it here? Thanks!

--
Dmitry

2008-10-07 03:51:46

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

On Tue, Oct 07, 2008 at 05:41:32AM +0200, Ingo Molnar wrote:
>
> * Andreas Herrmann <[email protected]> wrote:
>
> > So, let's work around BIOS bugs in Linux then ...
> >
> > Following patch is almost untested -- especially I didn't get my hands
> > on one of the HP Laptops with broken DSDT.
> [...]
> > On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override
> > but the SB450 chipset is configured such that timer interrupts goe to
> > INT0 of IOAPIC.
> >
> > Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the
> > timer override.
> >
> > Signed-off-by: Andreas Herrmann <[email protected]>
> >
> > ---
> > arch/x86/kernel/early-quirks.c | 48 ++++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 48 insertions(+), 0 deletions(-)
>
> very nice, thanks Andreas! Applied to tip/x86/quirks. This PCI ID based
> quirk should be more complete than DMI matches.
>

You may add 'Tested by: Dmitry Torokhov <[email protected]> on nx6115'
It works fine here with Andreas patch applied and with Rafael's patch
dropped.

Thanks Andreas!

--
Dmitry

2008-10-07 04:43:12

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)


* Maciej W. Rozycki <[email protected]> wrote:

> > > Well, perhaps, but the thermal trip point phenomenon seems unique
> > > to this family of systems. The other aspects of the problem do
> > > not really matter anymore as we seem to have addressed them
> > > robustly enough now.
> >
> > When you need DMI entries you clearly haven't.
>
> You can't just break a piece of hardware randomly (setting the
> thermal trip points based on an interrupt mask of an I/O APIC input is
> certainly beyond the ACPI spec), hide its documentation and still
> demand it to be supported correctly, possibly hurting all the other
> good equipment. Sorry -- you have to draw a line somewhere. [...]

agreed. This is a clear example of a complex and hard to track down BIOS
bug - and even in this case we go out on a limb working it around.

The first approach to such problems is usually a DMI pattern based fix -
they happen when we dont know the full scope of a particular problem yet
but have a rough idea and want to react to bugs quickly.

PCI ID based quirks are preferred much more in the long run: DMI pattern
matching does not scale as the DMI space is human-visible and hence
changes frequently not for technical/hw-environment but for
perception/PR reasons, hence it is far less reliable programmatically
than the PCI ID space.

But PCI ID methods, while more intelligent, they lag behind a bit and
depend on good cooperation with hw makers. As long as DMI pattern
matches end up turning into PCI ID based approaches, like here, i'm not
complaining as a maintainer ;)

Thanks Maciej for your excellent in-depth analysis of this issue, and
for your many fixes in this area of code - you squashed many difficult,
long-standing bugs in this space.

Ingo

2008-10-07 04:58:29

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC


* Dmitry Torokhov <[email protected]> wrote:

> On Tue, Oct 07, 2008 at 05:41:32AM +0200, Ingo Molnar wrote:
> >
> > * Andreas Herrmann <[email protected]> wrote:
> >
> > > So, let's work around BIOS bugs in Linux then ...
> > >
> > > Following patch is almost untested -- especially I didn't get my hands
> > > on one of the HP Laptops with broken DSDT.
> > [...]
> > > On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override
> > > but the SB450 chipset is configured such that timer interrupts goe to
> > > INT0 of IOAPIC.
> > >
> > > Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the
> > > timer override.
> > >
> > > Signed-off-by: Andreas Herrmann <[email protected]>
> > >
> > > ---
> > > arch/x86/kernel/early-quirks.c | 48 ++++++++++++++++++++++++++++++++++++++++
> > > 1 files changed, 48 insertions(+), 0 deletions(-)
> >
> > very nice, thanks Andreas! Applied to tip/x86/quirks. This PCI ID based
> > quirk should be more complete than DMI matches.
> >
>
> You may add 'Tested by: Dmitry Torokhov <[email protected]> on nx6115'
> It works fine here with Andreas patch applied and with Rafael's patch
> dropped.
>
> Thanks Andreas!

ok, added your Tested-by to the changelog, thanks.

I also applied the patch below to deprioritize the DMI quirks for this
problem (without actually removing them, yet). Could you please check
whether latest tip/master:

http://people.redhat.com/mingo/tip.git/README

boots fine out of box and that the WARN() does not trigger?

Ingo

--------------->
>From 8d89adf44cf750e49691ba5b744b2ad77a05e997 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <[email protected]>
Date: Tue, 7 Oct 2008 06:47:52 +0200
Subject: [PATCH] x86: SB450: deprioritize DMI quirks

This PCI ID based quick should be a full solution for the IRQ0 override
related slowdown problem on SB450 based systems:

33fb0e4: x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

Emit a warning in those cases where the DMI quirk triggers but
the PCI ID based quirk didnt.

If this warning does not trigger then we can phase out the DMI quirks.

Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/kernel/acpi/boot.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index c102af8..096102d 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1421,8 +1421,16 @@ static int __init force_acpi_ht(const struct dmi_system_id *d)
*/
static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
{
- pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n", d->ident);
- acpi_skip_timer_override = 1;
+ /*
+ * The ati_ixp4x0_rev() early PCI quirk should have set
+ * the acpi_skip_timer_override flag already:
+ */
+ if (!acpi_skip_timer_override) {
+ WARN(1, KERN_ERR "ati_ixp4x0 quirk not complete.\n");
+ pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n",
+ d->ident);
+ acpi_skip_timer_override = 1;
+ }
return 0;
}

2008-10-07 05:32:18

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Tue, Oct 07, 2008 at 02:35:01AM +0100, Maciej W. Rozycki wrote:
>
> > > It's not that we are unresponsive or do not take
> > > responsibility for our bugs, is it?
> >
> > These workarounds are not for mainline kernels but for specific
> > distribution releases (as in "fixes SLES/RHEL x.y" instead of
> > "fixes 2.6.xy")
>
> I am happy to fix any bugs I introduced myself (as much as one can be
> happy about mistakes once they have discovered they made them that is) and
> certainly have a look into other Linux bugs by request of any vendor of a
> Linux distribution made on behalf of a hardware manufacturer.
>
> OTOH I do not feel responsible even a little bit for someone else's bugs
> like those of BIOS developers. Though I will certainly consider providing
> them with any assistance needed to get things related to Linux resolved in
> a best possible way if they ask nicely.

To be honest I think you have a unrealistic approach to this.
That is not how it works.

For the BIOS developers OS are like some piece of random hardware
ot a OS developer. If something doesn't work and if they care
they will add a workaround. Just as the OS developer adds a workaround
for the hardware issue. And yes workarounds are typically not pretty.
And sometimes the workaround come later back to bite someone That is what
happened here. But they still have to support the old releases if they
worked before, otherwise they got a regression too.

Using a PCI ID quirk to disable the workaround is a reasonable
approach, although it has its issues too.

Also calling the workaround a BIOS bug is just unfair in this case. It really
isn't.

> > > Well, perhaps, but the thermal trip point phenomenon seems unique to this
> > > family of systems. The other aspects of the problem do not really matter
> > > anymore as we seem to have addressed them robustly enough now.
> >
> > When you need DMI entries you clearly haven't.
>
> You can't just break a piece of hardware randomly (setting the thermal
> trip points based on an interrupt mask of an I/O APIC input is certainly
> beyond the ACPI spec), hide its documentation and still demand it to be
> supported correctly, possibly hurting all the other good equipment.
> Sorry -- you have to draw a line somewhere. Others seem to agree as

Well you can blame everyone else, but it doesn't change the fact that
if systems who worked before don't work anymore you've caused regressions.
Which seems to be the case here.

-Andi
--
[email protected]

Subject: Re: 2.6.27-rc8+ - first impressions

>On Mon, Oct 06, 2008 at 11:42:35PM -0400, Dmitry Torokhov wrote:
> On Mon, Oct 06, 2008 at 09:53:50PM +0200, Andreas Herrmann wrote:
> > On Mon, Oct 06, 2008 at 02:28:39AM -0400, Dmitry Torokhov wrote:
> > > On Sun, Oct 05, 2008 at 12:10:46PM -0700, Arjan van de Ven wrote:
> > > > On Sun, 5 Oct 2008 14:36:25 -0400
> > > > Dmitry Torokhov <[email protected]> wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Lats night I loaded 2.6.27-rc8-tip for the first time on my AMD Turion
> > > > > 64 laptop that is normally runs with Fedora distribution kernel.
> > > > > Compared to 2.6.25 the thing is broken - hdparm reports about 3MB/sec
> > > > > speed, fans are constantly on, everything seems sluggish.
> > > > >
> > > > > Booting with hpet=force (HPET is disabled in BIOS) hangs the box
> > > > > somewhere in tty_init.
> > > >
> > > > hpet=force is a "the kernel thinks it's not wise to use, but you think
> > > > better"... don't do that ;(
> > > >
> > >
> > > That is not how I parse dmesg:
> > >
> > > [ 0.077927] HPET not enabled in BIOS. You might try hpet=force boot
> > > option
> > >
> > > Here kernel recommends to try and enable it. If we generally don't recommed
> > > using 'force' I'd suggest removing the 2nd sentence from the message.
> >
> > FYI.
> > Commit e7250b8ae3870f37f660c2f65cafcaba85e3bfd3 of tip/master is
> > needed to really enable hpet on SB400. I guess that patch should go
> > upstream asap -- and probably it's a good idea to add a check for timer
> > interrupt routing as well which could solve the issues on HP nx6xxx
> > laptops.
> >
>
> Having trouble locating this one. Could you please send me a patch so I
> can try it here? Thanks!

Here it is.

commit e7250b8ae3870f37f660c2f65cafcaba85e3bfd3
Author: Andreas Herrmann <[email protected]>
Date: Fri Sep 5 18:33:26 2008 +0200

x86: hpet: modify IXP400 quirk to enable interrupts

The current quirk is incomplete. Some more chipset fiddling has to be
done to enable HPET interrupts. This patch aims to do this. From my
tests it seems to work faultlessly.

But the official statement is that HPET is not supported on SB4X0.

Users will still have to use hpet=force to enable it.

Use it at your own risk.

Signed-off-by: Andreas Herrmann <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>

diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
index d138588..f6a11b9 100644
--- a/arch/x86/kernel/quirks.c
+++ b/arch/x86/kernel/quirks.c
@@ -354,9 +354,27 @@ static void ati_force_hpet_resume(void)
printk(KERN_DEBUG "Force enabled HPET at resume\n");
}

+static u32 ati_ixp4x0_rev(struct pci_dev *dev)
+{
+ u32 d;
+ u8 b;
+
+ pci_read_config_byte(dev, 0xac, &b);
+ b &= ~(1<<5);
+ pci_write_config_byte(dev, 0xac, b);
+ pci_read_config_dword(dev, 0x70, &d);
+ d |= 1<<8;
+ pci_write_config_dword(dev, 0x70, d);
+ pci_read_config_dword(dev, 0x8, &d);
+ d &= 0xff;
+ dev_printk(KERN_DEBUG, &dev->dev, "SB4X0 revision 0x%x\n", d);
+ return d;
+}
+
static void ati_force_enable_hpet(struct pci_dev *dev)
{
- u32 uninitialized_var(val);
+ u32 d, val;
+ u8 b;

if (hpet_address || force_hpet_address)
return;
@@ -366,14 +384,33 @@ static void ati_force_enable_hpet(struct pci_dev *dev)
return;
}

+ d = ati_ixp4x0_rev(dev);
+ if (d < 0x82)
+ return;
+
+ /* base address */
pci_write_config_dword(dev, 0x14, 0xfed00000);
pci_read_config_dword(dev, 0x14, &val);
+
+ /* enable interrupt */
+ outb(0x72, 0xcd6); b = inb(0xcd7);
+ b |= 0x1;
+ outb(0x72, 0xcd6); outb(b, 0xcd7);
+ outb(0x72, 0xcd6); b = inb(0xcd7);
+ if (!(b & 0x1))
+ return;
+ pci_read_config_dword(dev, 0x64, &d);
+ d |= (1<<10);
+ pci_write_config_dword(dev, 0x64, d);
+ pci_read_config_dword(dev, 0x64, &d);
+ if (!(d & (1<<10)))
+ return;
+
force_hpet_address = val;
force_hpet_resume_type = ATI_FORCE_HPET_RESUME;
dev_printk(KERN_DEBUG, &dev->dev, "Force enabled HPET at 0x%lx\n",
force_hpet_address);
cached_dev = dev;
- return;
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS,
ati_force_enable_hpet);

2008-10-07 11:19:44

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

On Tue, Oct 07, 2008 at 06:57:57AM +0200, Ingo Molnar wrote:
>
> * Dmitry Torokhov <[email protected]> wrote:
>
> > On Tue, Oct 07, 2008 at 05:41:32AM +0200, Ingo Molnar wrote:
> > >
> > > * Andreas Herrmann <[email protected]> wrote:
> > >
> > > > So, let's work around BIOS bugs in Linux then ...
> > > >
> > > > Following patch is almost untested -- especially I didn't get my hands
> > > > on one of the HP Laptops with broken DSDT.
> > > [...]
> > > > On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override
> > > > but the SB450 chipset is configured such that timer interrupts goe to
> > > > INT0 of IOAPIC.
> > > >
> > > > Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the
> > > > timer override.
> > > >
> > > > Signed-off-by: Andreas Herrmann <[email protected]>
> > > >
> > > > ---
> > > > arch/x86/kernel/early-quirks.c | 48 ++++++++++++++++++++++++++++++++++++++++
> > > > 1 files changed, 48 insertions(+), 0 deletions(-)
> > >
> > > very nice, thanks Andreas! Applied to tip/x86/quirks. This PCI ID based
> > > quirk should be more complete than DMI matches.
> > >
> >
> > You may add 'Tested by: Dmitry Torokhov <[email protected]> on nx6115'
> > It works fine here with Andreas patch applied and with Rafael's patch
> > dropped.
> >
> > Thanks Andreas!
>
> ok, added your Tested-by to the changelog, thanks.
>
> I also applied the patch below to deprioritize the DMI quirks for this
> problem (without actually removing them, yet). Could you please check
> whether latest tip/master:
>
> http://people.redhat.com/mingo/tip.git/README
>
> boots fine out of box and that the WARN() does not trigger?
>

While I did not test tip/master I applied this patch on top of Andreas's
patch and the warning, as expected, did not trigger.

--
Dmitry

2008-10-07 11:38:03

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Tue, Oct 07, 2008 at 11:10:32AM +0200, Andreas Herrmann wrote:
> >On Mon, Oct 06, 2008 at 11:42:35PM -0400, Dmitry Torokhov wrote:
> > On Mon, Oct 06, 2008 at 09:53:50PM +0200, Andreas Herrmann wrote:
> > >
> > > FYI.
> > > Commit e7250b8ae3870f37f660c2f65cafcaba85e3bfd3 of tip/master is
> > > needed to really enable hpet on SB400. I guess that patch should go
> > > upstream asap -- and probably it's a good idea to add a check for timer
> > > interrupt routing as well which could solve the issues on HP nx6xxx
> > > laptops.
> > >
> >
> > Having trouble locating this one. Could you please send me a patch so I
> > can try it here? Thanks!
>
> Here it is.
>

Hmm, that unfortunately does not work because I have SB4X0 revision 0x11
and the patch cuts off everything below 0x82. Is there anything that can
be done to enable HPET on early revisions?

Thanks.

--
Dmitry

2008-10-07 11:45:49

by Matthew Garrett

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Tue, Oct 07, 2008 at 07:38:08AM +0200, Andi Kleen wrote:

> Also calling the workaround a BIOS bug is just unfair in this case. It really
> isn't.

The BIOS bug in these machines is that they set the thermal trip points
to 16 degrees C if the APIC is set up in a specific way. It's specific
to the HPs and it was there in the initial BIOS release - before anyone
added workarounds for the SB700 issue. It's clearly and unambiguously
broken, and it's clearly the BIOS's fault. However, it's also clearly
our responsibility to avoid triggering it on this hardware.

--
Matthew Garrett | [email protected]

2008-10-07 12:04:55

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)


* Andi Kleen <[email protected]> wrote:

> On Tue, Oct 07, 2008 at 02:35:01AM +0100, Maciej W. Rozycki wrote:
> >
> > > > It's not that we are unresponsive or do not take
> > > > responsibility for our bugs, is it?
> > >
> > > These workarounds are not for mainline kernels but for specific
> > > distribution releases (as in "fixes SLES/RHEL x.y" instead of
> > > "fixes 2.6.xy")
> >
> > I am happy to fix any bugs I introduced myself (as much as one can
> > be happy about mistakes once they have discovered they made them
> > that is) and certainly have a look into other Linux bugs by request
> > of any vendor of a Linux distribution made on behalf of a hardware
> > manufacturer.
> >
> > OTOH I do not feel responsible even a little bit for someone else's
> > bugs like those of BIOS developers. Though I will certainly
> > consider providing them with any assistance needed to get things
> > related to Linux resolved in a best possible way if they ask nicely.
>
> To be honest I think you have a unrealistic approach to this. That is
> not how it works.
>
> For the BIOS developers OS are like some piece of random hardware ot a
> OS developer. If something doesn't work and if they care they will add
> a workaround. Just as the OS developer adds a workaround for the
> hardware issue. And yes workarounds are typically not pretty. And
> sometimes the workaround come later back to bite someone That is what
> happened here. But they still have to support the old releases if they
> worked before, otherwise they got a regression too.
>
> Using a PCI ID quirk to disable the workaround is a reasonable
> approach, although it has its issues too.
>
> Also calling the workaround a BIOS bug is just unfair in this case. It
> really isn't.

The BIOS causes all thermal trip points to be 16C when the kernel pokes
the IO-APIC pins, causing the system to be very slow and causing the CPU
fan to spin like mad. That is utterly broken. So stop wasting our time
with your stupid nonsense.

Ingo

2008-10-07 12:07:59

by Parag Warudkar

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Tue, Oct 7, 2008 at 7:37 AM, Dmitry Torokhov
<[email protected]> wrote:
> Hmm, that unfortunately does not work because I have SB4X0 revision 0x11
> and the patch cuts off everything below 0x82. Is there anything that can
> be done to enable HPET on early revisions?
>

Later BIOS revisions for the 6115 "enable Vista support" which
actually means HPET is properly enabled in BIOS for Vista to work.
(i.e. there won't be a need to force enable it with later BIOS versions.)

Any reason you could not try the BIOS upgrade I pointed out earlier?

Parag

Subject: Re: 2.6.27-rc8+ - first impressions

On Tue, Oct 07, 2008 at 07:37:47AM -0400, Dmitry Torokhov wrote:
> On Tue, Oct 07, 2008 at 11:10:32AM +0200, Andreas Herrmann wrote:
> > >On Mon, Oct 06, 2008 at 11:42:35PM -0400, Dmitry Torokhov wrote:
> > > On Mon, Oct 06, 2008 at 09:53:50PM +0200, Andreas Herrmann wrote:
> > > >
> > > > FYI.
> > > > Commit e7250b8ae3870f37f660c2f65cafcaba85e3bfd3 of tip/master is
> > > > needed to really enable hpet on SB400. I guess that patch should go
> > > > upstream asap -- and probably it's a good idea to add a check for timer
> > > > interrupt routing as well which could solve the issues on HP nx6xxx
> > > > laptops.
> > > >
> > >
> > > Having trouble locating this one. Could you please send me a patch so I
> > > can try it here? Thanks!
> >
> > Here it is.
> >
>
> Hmm, that unfortunately does not work because I have SB4X0 revision 0x11
> and the patch cuts off everything below 0x82. Is there anything that can
> be done to enable HPET on early revisions?

No, sorry.
It won't work as interrupts won't properly delivered.


Regards,

Andreas

2008-10-07 15:26:09

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

On Tue, 7 Oct 2008, Andreas Herrmann wrote:

> Following patch is almost untested -- especially I didn't get my
> hands on one of the HP Laptops with broken DSDT.

Thanks a lot for the fix even though I cannot test it!

Maciej

2008-10-07 20:27:37

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

On Tuesday, 7 of October 2008, Andreas Herrmann wrote:
> On Mon, Oct 06, 2008 at 10:39:25PM +0100, Maciej W. Rozycki wrote:
> > On Mon, 6 Oct 2008, Andi Kleen wrote:
> >
> > > The real reason is actually a workaround in the BIOS for problems
> > > in the older Linux code that caused duplicated timer interrupts. The
> > > old Linux would fall into "enable both IO-APIC and 8259" fallback mode
> > > and the resulted in duplicated timer events, which made everything unhappy.
> > > They instead configured the northbridge in a way that one of the inputs
> > > is ignored.
> >
> > Hmm, working around Linux problems in the BIOS is a new and truly odd
> > concept to me. It's not that we are unresponsive or do not take
> > responsibility for our bugs, is it?
>
> So, let's work around BIOS bugs in Linux then ...
>
> Following patch is almost untested -- especially I didn't get my
> hands on one of the HP Laptops with broken DSDT.

The patch works on my nx6325. I removed the DMI workarouds for this test, so
I'm quite sure. :-)

You can add my Tested-by to it too.

Thanks,
Rafael


> --
>
> On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override
> but the SB450 chipset is configured such that timer interrupts goe to
> INT0 of IOAPIC.
>
> Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the
> timer override.
>
> Signed-off-by: Andreas Herrmann <[email protected]>
> ---
> arch/x86/kernel/early-quirks.c | 48 ++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 48 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
> index 4353cf5..6b839b1 100644
> --- a/arch/x86/kernel/early-quirks.c
> +++ b/arch/x86/kernel/early-quirks.c
> @@ -95,6 +95,52 @@ static void __init nvidia_bugs(int num, int slot, int func)
>
> }
>
> +static u32 ati_ixp4x0_rev(int num, int slot, int func)
> +{
> + u32 d;
> + u8 b;
> +
> + b = read_pci_config_byte(num, slot, func, 0xac);
> + b &= ~(1<<5);
> + write_pci_config_byte(num, slot, func, 0xac, b);
> +
> + d = read_pci_config(num, slot, func, 0x70);
> + d |= 1<<8;
> + write_pci_config(num, slot, func, 0x70, d);
> +
> + d = read_pci_config(num, slot, func, 0x8);
> + d &= 0xff;
> + return d;
> +}
> +
> +static void __init ati_bugs(int num, int slot, int func)
> +{
> +#if defined(CONFIG_ACPI) && defined (CONFIG_X86_IO_APIC)
> + u32 d;
> + u8 b;
> +
> + if (acpi_use_timer_override)
> + return;
> +
> + d = ati_ixp4x0_rev(num, slot, func);
> + if (d < 0x82)
> + acpi_skip_timer_override = 1;
> + else {
> + /* check for IRQ0 interrupt swap */
> + outb(0x72, 0xcd6); b = inb(0xcd7);
> + if (!(b & 0x2))
> + acpi_skip_timer_override = 1;
> + }
> +
> + if (acpi_skip_timer_override) {
> + printk(KERN_INFO "SB4X0 revision 0x%x\n", d);
> + printk(KERN_INFO "Ignoring ACPI timer override.\n");
> + printk(KERN_INFO "If you got timer trouble "
> + "try acpi_use_timer_override\n");
> + }
> +#endif
> +}
> +
> #define QFLAG_APPLY_ONCE 0x1
> #define QFLAG_APPLIED 0x2
> #define QFLAG_DONE (QFLAG_APPLY_ONCE|QFLAG_APPLIED)
> @@ -114,6 +160,8 @@ static struct chipset early_qrk[] __initdata = {
> PCI_CLASS_BRIDGE_PCI, PCI_ANY_ID, QFLAG_APPLY_ONCE, via_bugs },
> { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB,
> PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, fix_hypertransport_config },
> + { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS,
> + PCI_CLASS_SERIAL_SMBUS, PCI_ANY_ID, 0, ati_bugs },
> {}
> };
>

2008-10-08 01:08:15

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.27-rc8+ - first impressions

On Tue, Oct 07, 2008 at 08:07:49AM -0400, Parag Warudkar wrote:
> On Tue, Oct 7, 2008 at 7:37 AM, Dmitry Torokhov
> <[email protected]> wrote:
> > Hmm, that unfortunately does not work because I have SB4X0 revision 0x11
> > and the patch cuts off everything below 0x82. Is there anything that can
> > be done to enable HPET on early revisions?
> >
>
> Later BIOS revisions for the 6115 "enable Vista support" which
> actually means HPET is properly enabled in BIOS for Vista to work.
> (i.e. there won't be a need to force enable it with later BIOS versions.)
>
> Any reason you could not try the BIOS upgrade I pointed out earlier?
>

I just did not want to do that on the road.

I do not see any difference with regard to timer wiring or hpet behavior
(hpet is disabled in BIOS, hpet=force causes hang) with the latest
(F.12) BIOS.

--
Dmitry

2008-10-08 08:24:01

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH] x86 ACPI: Blacklist two HP machines with buggy BIOSes (Re: 2.6.27-rc8+ - first impressions)

On Mon, 2008-10-06 at 22:59 +0200, Andi Kleen wrote:

> The real reason is actually a workaround in the BIOS for problems
> in the older Linux code that caused duplicated timer interrupts.

That really made me blink - so instead of fixing Linux they fudged their
BIOS?

*utter amazement*