Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
nexedi
linux
Commits
a0b18907
Commit
a0b18907
authored
21 years ago
by
Adam Belay
Browse files
Options
Download
Plain Diff
Merge
http://linux.bkbits.net/linux-2.5
into neo.rr.com:/home/ambx1/linux/bk/linus-2.5
parents
c0ccfc9c
366bf3a0
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
613 additions
and
707 deletions
+613
-707
CREDITS
CREDITS
+7
-0
Documentation/x86_64/boot-options.txt
Documentation/x86_64/boot-options.txt
+5
-1
arch/alpha/Kconfig
arch/alpha/Kconfig
+3
-14
arch/alpha/defconfig
arch/alpha/defconfig
+308
-137
arch/alpha/kernel/alpha_ksyms.c
arch/alpha/kernel/alpha_ksyms.c
+3
-0
arch/alpha/kernel/time.c
arch/alpha/kernel/time.c
+6
-4
arch/alpha/kernel/traps.c
arch/alpha/kernel/traps.c
+36
-41
arch/x86_64/defconfig
arch/x86_64/defconfig
+89
-392
arch/x86_64/kernel/acpi/boot.c
arch/x86_64/kernel/acpi/boot.c
+11
-0
arch/x86_64/kernel/entry.S
arch/x86_64/kernel/entry.S
+9
-5
arch/x86_64/kernel/mce.c
arch/x86_64/kernel/mce.c
+37
-26
arch/x86_64/kernel/mpparse.c
arch/x86_64/kernel/mpparse.c
+40
-44
arch/x86_64/kernel/pci-gart.c
arch/x86_64/kernel/pci-gart.c
+36
-21
arch/x86_64/kernel/process.c
arch/x86_64/kernel/process.c
+3
-1
arch/x86_64/kernel/setup.c
arch/x86_64/kernel/setup.c
+2
-4
arch/x86_64/mm/init.c
arch/x86_64/mm/init.c
+3
-3
arch/x86_64/pci/mmconfig.c
arch/x86_64/pci/mmconfig.c
+1
-1
drivers/char/rtc.c
drivers/char/rtc.c
+2
-0
drivers/char/vt.c
drivers/char/vt.c
+10
-11
drivers/macintosh/Kconfig
drivers/macintosh/Kconfig
+2
-2
No files found.
CREDITS
View file @
a0b18907
...
...
@@ -1864,6 +1864,13 @@ S: Am Muehlenweg 38
S: D53424 Remagen
S: Germany
N: Colin Leroy
E: colin@colino.net
W: http://www.geekounet.org/
D: PowerMac adt7467 fan driver
S: Toulouse
S: France
N: Achim Leubner
E: achim_leubner@adaptec.com
D: GDT Disk Array Controller/Storage RAID controller driver
...
...
This diff is collapsed.
Click to expand it.
Documentation/x86_64/boot-options.txt
View file @
a0b18907
...
...
@@ -136,7 +136,7 @@ PCI
IOMMU
iommu=[size][,noagp][,off][,force][,noforce][,leak][,memaper[=order]]
iommu=[size][,noagp][,off][,force][,noforce][,leak][,memaper[=order]]
[,soft]
size set size of iommu (in bytes)
noagp don't initialize the AGP driver and use full aperture.
off don't use the IOMMU
...
...
@@ -144,5 +144,9 @@ IOMMU
memaper[=order] allocate an own aperture over RAM with size 32MB^order.
noforce don't force IOMMU usage. Default.
force Force IOMMU
soft Use software bounce buffering for non 32bit IO. Default on Intel
machines.
swiotlb=pages
Prereserve that many 4K pages for the software IO bounce buffering.
This diff is collapsed.
Click to expand it.
arch/alpha/Kconfig
View file @
a0b18907
...
...
@@ -188,7 +188,7 @@ config ALPHA_MIATA
help
The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a,
or 600au). There is an Installation HOWTO for this hardware at
<http://
members.brabant.chello.nl/~s.vandereijk
/miata.html>.
<http://
eijk.homelinux.org/~stefan
/miata.html>.
config ALPHA_MIKASA
bool "Mikasa"
...
...
@@ -486,19 +486,8 @@ config SMP
singleprocessor machines. On a singleprocessor machine, the kernel
will run faster if you say N here.
Note that if you say Y here and choose architecture "586" or
"Pentium" under "Processor family", the kernel will not work on 486
architectures. Similarly, multiprocessor kernels for the "PPro"
architecture may not work on all Pentium based boards.
People using multiprocessor machines who say Y here should also say
Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
Management" code will be disabled if you say Y here.
See also the <file:Documentation/smp.txt>,
<file:Documentation/i386/IO-APIC.txt>,
<file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
<http://www.tldp.org/docs.html#howto>.
See also the <file:Documentation/smp.tex>, and the SMP-HOWTO
available at <http://www.tldp.org/docs.html#howto>.
If you don't know what to do here, say N.
...
...
This diff is collapsed.
Click to expand it.
arch/alpha/defconfig
View file @
a0b18907
...
...
@@ -2,8 +2,8 @@
# Automatically generated make config: don't edit
#
CONFIG_ALPHA=y
CONFIG_64BIT=y
CONFIG_MMU=y
CONFIG_SWAP=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_ISA_DMA=y
...
...
@@ -11,14 +11,28 @@ CONFIG_GENERIC_ISA_DMA=y
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
#
CONFIG_
NET
=y
CONFIG_
SWAP
=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
...
...
@@ -26,6 +40,8 @@ CONFIG_SYSCTL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
#
...
...
@@ -45,6 +61,8 @@ CONFIG_ALPHA_GENERIC=y
# CONFIG_ALPHA_EIGER is not set
# CONFIG_ALPHA_JENSEN is not set
# CONFIG_ALPHA_LX164 is not set
# CONFIG_ALPHA_LYNX is not set
# CONFIG_ALPHA_MARVEL is not set
# CONFIG_ALPHA_MIATA is not set
# CONFIG_ALPHA_MIKASA is not set
# CONFIG_ALPHA_NAUTILUS is not set
...
...
@@ -62,26 +80,35 @@ CONFIG_ALPHA_GENERIC=y
# CONFIG_ALPHA_TITAN is not set
# CONFIG_ALPHA_WILDFIRE is not set
CONFIG_ISA=y
CONFIG_EISA=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_ALPHA_CORE_AGP=y
CONFIG_ALPHA_BROKEN_IRQ_MASK=y
CONFIG_EARLY_PRINTK=y
CONFIG_EISA=y
# CONFIG_SMP is not set
# CONFIG_DISCONTIGMEM is not set
CONFIG_VERBOSE_MCHECK=y
CONFIG_VERBOSE_MCHECK_ON=1
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
#
CONFIG_
HOTPLUG is not set
CONFIG_
KCORE_ELF
=y
#
CONFIG_
KCORE_AOUT is not set
CONFIG_
EISA_PCI_EISA=y
CONFIG_
EISA_VIRTUAL_ROOT
=y
CONFIG_
EISA_NAMES=y
CONFIG_SRM_ENV=m
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_
MISC
is not set
# CONFIG_BINFMT_
AOUT
is not set
# CONFIG_BINFMT_EM86 is not set
# CONFIG_BINFMT_MISC is not set
#
#
Parallel port support
#
Device Drivers
#
# CONFIG_PARPORT is not set
#
# Generic Driver Options
#
# CONFIG_DEBUG_DRIVER is not set
#
# Memory Technology Devices (MTD)
...
...
@@ -89,10 +116,14 @@ CONFIG_BINFMT_ELF=y
# CONFIG_MTD is not set
#
# Plug and Play configuration
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_NAMES is not set
# CONFIG_PNP_DEBUG is not set
#
...
...
@@ -111,63 +142,60 @@ CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_CARMEL is not set
# CONFIG_BLK_DEV_RAM is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
#
# IDE, ATA and ATAPI Block devices
#
CONFIG_IDE_MAX_HWIFS=4
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_ISAPNP is not set
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_IDEPCI_SHARE_IRQ is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_TRIFLEX is not set
CONFIG_BLK_DEV_CY82C693=y
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
...
...
@@ -176,13 +204,17 @@ CONFIG_BLK_DEV_CY82C693=y
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA
_AUTO
=y
CONFIG_
BLK_DEV_
IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set
#
# SCSI support
# SCSI
device
support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
...
...
@@ -202,86 +234,105 @@ CONFIG_BLK_DEV_SR_VENDOR=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=253
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_PROBE_EISA_VL is not set
# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_
DPT_I2O
is not set
# CONFIG_SCSI_
AIC79XX
is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_I
NITIO
is not set
# CONFIG_SCSI_I
PS
is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
CONFIG_SCSI_NCR53C8XX=y
CONFIG_SCSI_SYM53C8XX=y
CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
CONFIG_SCSI_NCR53C8XX_SYNC=20
# CONFIG_SCSI_NCR53C8XX_PROFILE is not set
# CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
# CONFIG_SCSI_NCR53C8XX_PQS_PDS is not set
# CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
(EXPERIMENTAL)
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
#
# Networking support
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_NET_KEY=m
CONFIG_INET=y
...
...
@@ -296,7 +347,17 @@ CONFIG_INET_ECN=y
# CONFIG_SYN_COOKIES is not set
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_XFRM_USER=m
# CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# IP: Netfilter Configuration
...
...
@@ -304,14 +365,18 @@ CONFIG_XFRM_USER=m
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_AMANDA is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
# CONFIG_IP_NF_MATCH_LIMIT is not set
# CONFIG_IP_NF_MATCH_IPRANGE is not set
# CONFIG_IP_NF_MATCH_MAC is not set
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
# CONFIG_IP_NF_MATCH_MARK is not set
# CONFIG_IP_NF_MATCH_MULTIPORT is not set
# CONFIG_IP_NF_MATCH_TOS is not set
# CONFIG_IP_NF_MATCH_RECENT is not set
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_DSCP is not set
# CONFIG_IP_NF_MATCH_AH_ESP is not set
...
...
@@ -321,15 +386,15 @@ CONFIG_IP_NF_IPTABLES=m
# CONFIG_IP_NF_MATCH_HELPER is not set
# CONFIG_IP_NF_MATCH_STATE is not set
# CONFIG_IP_NF_MATCH_CONNTRACK is not set
# CONFIG_IP_NF_MATCH_UNCLEAN is not set
# CONFIG_IP_NF_MATCH_OWNER is not set
CONFIG_IP_NF_FILTER=m
# CONFIG_IP_NF_TARGET_REJECT is not set
# CONFIG_IP_NF_TARGET_MIRROR is not set
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
# CONFIG_IP_NF_TARGET_REDIRECT is not set
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not set
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_NAT_IRC=m
...
...
@@ -340,7 +405,8 @@ CONFIG_IP_NF_NAT_FTP=m
# CONFIG_IP_NF_TARGET_TCPMSS is not set
# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_COMPAT_IPCHAINS=y
# CONFIG_IPV6 is not set
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
#
# SCTP Configuration (EXPERIMENTAL)
...
...
@@ -349,9 +415,9 @@ CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
CONFIG_VLAN_8021Q=m
# CONFIG_LLC is not set
# CONFIG_
DECNET
is not set
# CONFIG_
BRIDGE
is not set
# CONFIG_LLC
2
is not set
# CONFIG_
IPX
is not set
# CONFIG_
ATALK
is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
...
...
@@ -369,10 +435,6 @@ CONFIG_VLAN_8021Q=m
# Network testing
#
# CONFIG_NET_PKTGEN is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
...
...
@@ -390,6 +452,7 @@ CONFIG_DUMMY=m
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
CONFIG_NET_VENDOR_3COM=y
...
...
@@ -400,6 +463,7 @@ CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL3 is not set
# CONFIG_3C515 is not set
CONFIG_VORTEX=y
# CONFIG_TYPHOON is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
...
...
@@ -412,6 +476,7 @@ CONFIG_DE2104X=m
CONFIG_TULIP=y
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
...
...
@@ -421,10 +486,12 @@ CONFIG_TULIP_MMIO=y
# CONFIG_NET_ISA 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_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
...
...
@@ -440,7 +507,6 @@ CONFIG_NET_PCI=y
# 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_NET_POCKET is not set
...
...
@@ -448,13 +514,20 @@ CONFIG_NET_PCI=y
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
CONFIG_DL2K
=m
#
CONFIG_DL2K
is not set
# CONFIG_E1000 is not set
CONFIG_NS83820
=m
#
CONFIG_NS83820
is not set
# CONFIG_HAMACHI is not set
CONFIG_YELLOWFIN=y
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
...
...
@@ -470,8 +543,8 @@ CONFIG_YELLOWFIN=y
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# Wan interfaces
...
...
@@ -483,35 +556,75 @@ CONFIG_YELLOWFIN=y
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# Bluetooth support
#
# CONFIG_BT is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN
_BOOL
is not set
# CONFIG_ISDN is not set
#
#
Old CD-ROM drivers (not SCSI, not IDE)
#
Telephony Support
#
# CONFIG_
CD_NO_IDESCSI
is not set
# CONFIG_
PHONE
is not set
#
# Input device support
#
#
CONFIG_INPUT
is not set
CONFIG_INPUT
=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_SERIO is not set
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 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_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Character devices
...
...
@@ -524,32 +637,30 @@ CONFIG_HW_CONSOLE=y
#
# Serial drivers
#
CONFIG_SERIAL_8250=m
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
# CONFIG_I2C is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_QIC02_TAPE is not set
#
#
Mice
#
IPMI
#
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
...
...
@@ -563,73 +674,135 @@ CONFIG_RTC=y
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#
# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=m
# CONFIG_AUTOFS4_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=m
# CONFIG_AUTOFS4_FS is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_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_EXT3_FS is not set
# CONFIG_JBD is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_XFS_FS is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
# CONFIG_CIFS is not set
CONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_AFS_FS is not set
#
...
...
@@ -638,11 +811,11 @@ CONFIG_EXPORTFS=m
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_OSF_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
...
...
@@ -683,29 +856,9 @@ CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_UTF8 is not set
#
# Console drivers
#
CONFIG_VGA_CONSOLE=y
#
# Frame-buffer support
#
# CONFIG_FB is not set
# Profiling support
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
#
# Bluetooth support
#
# CONFIG_BT is not set
# CONFIG_PROFILING is not set
#
# Kernel hacking
...
...
@@ -718,16 +871,34 @@ CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_RWLOCK is not set
# CONFIG_DEBUG_SEMAPHORE is not set
CONFIG_DEBUG_INFO=y
#
# Security options
#
CONFIG_SECURITY
_CAPABILITIES=y
#
CONFIG_SECURITY
is not set
#
# Cryptographic options
#
# CONFIG_CRYPTO is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_TEST is not set
#
# Library routines
...
...
This diff is collapsed.
Click to expand it.
arch/alpha/kernel/alpha_ksyms.c
View file @
a0b18907
...
...
@@ -35,6 +35,9 @@
#include <asm/cacheflush.h>
#include <asm/vga.h>
#define __KERNEL_SYSCALLS__
#include <asm/unistd.h>
extern
struct
hwrpb_struct
*
hwrpb
;
extern
void
dump_thread
(
struct
pt_regs
*
,
struct
user
*
);
extern
spinlock_t
rtc_lock
;
...
...
This diff is collapsed.
Click to expand it.
arch/alpha/kernel/time.c
View file @
a0b18907
...
...
@@ -24,6 +24,8 @@
* 2000-08-13 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* Fixed time_init to be aware of epoches != 1900. This prevents
* booting up in 2048 for me;) Code is stolen from rtc.c.
* 2003-06-03 R. Scott Bailey <scott.bailey@eds.com>
* Tighten sanity in time_init from 1% (10,000 PPM) to 250 PPM
*/
#include <linux/config.h>
#include <linux/errno.h>
...
...
@@ -306,7 +308,7 @@ void __init
time_init
(
void
)
{
unsigned
int
year
,
mon
,
day
,
hour
,
min
,
sec
,
cc1
,
cc2
,
epoch
;
unsigned
long
cycle_freq
,
one_percent
;
unsigned
long
cycle_freq
,
tolerance
;
long
diff
;
/* Calibrate CPU clock -- attempt #1. */
...
...
@@ -324,13 +326,13 @@ time_init(void)
cycle_freq
=
hwrpb
->
cycle_freq
;
if
(
est_cycle_freq
)
{
/* If the given value is within
1%
of what we calculated,
/* If the given value is within
250 PPM
of what we calculated,
accept it. Otherwise, use what we found. */
one_percent
=
cycle_freq
/
1
00
;
tolerance
=
cycle_freq
/
40
00
;
diff
=
cycle_freq
-
est_cycle_freq
;
if
(
diff
<
0
)
diff
=
-
diff
;
if
((
unsigned
long
)
diff
>
one_percent
)
{
if
((
unsigned
long
)
diff
>
tolerance
)
{
cycle_freq
=
est_cycle_freq
;
printk
(
"HWRPB cycle frequency bogus. "
"Estimated %lu Hz
\n
"
,
cycle_freq
);
...
...
This diff is collapsed.
Click to expand it.
arch/alpha/kernel/traps.c
View file @
a0b18907
...
...
@@ -15,6 +15,7 @@
#include <linux/delay.h>
#include <linux/smp_lock.h>
#include <linux/module.h>
#include <linux/init.h>
#include <asm/gentrap.h>
#include <asm/uaccess.h>
...
...
@@ -25,35 +26,37 @@
#include "proto.h"
/* data/code implementing a work-around for some SRMs which
mishandle opDEC faults
*/
static
int
opDEC_testing
=
0
;
static
int
opDEC_fix
=
0
;
static
int
opDEC_checked
=
0
;
static
unsigned
long
opDEC_test_pc
=
0
;
/* Work-around for some SRMs which mishandle opDEC faults. */
static
void
static
int
opDEC_fix
;
static
void
__init
opDEC_check
(
void
)
{
unsigned
long
test_pc
;
if
(
opDEC_checked
)
return
;
lock_kernel
();
opDEC_testing
=
1
;
__asm__
__volatile__
(
" br %0,1f
\n
"
"1: addq %0,8,%0
\n
"
" stq %0,%1
\n
"
" cvttq/svm $f31,$f31
\n
"
:
"=&r"
(
test_pc
),
"=m"
(
opDEC_test_pc
)
:
);
opDEC_testing
=
0
;
opDEC_checked
=
1
;
unlock_kernel
();
__asm__
__volatile__
(
/* Load the address of... */
" br $16, 1f
\n
"
/* A stub instruction fault handler. Just add 4 to the
pc and continue. */
" ldq $16, 8($sp)
\n
"
" addq $16, 4, $16
\n
"
" stq $16, 8($sp)
\n
"
" call_pal %[rti]
\n
"
/* Install the instruction fault handler. */
"1: lda $17, 3
\n
"
" call_pal %[wrent]
\n
"
/* With that in place, the fault from the round-to-minf fp
insn will arrive either at the "lda 4" insn (bad) or one
past that (good). This places the correct fixup in %0. */
" lda %[fix], 0
\n
"
" cvttq/svm $f31,$f31
\n
"
" lda %[fix], 4"
:
[
fix
]
"=r"
(
opDEC_fix
)
:
[
rti
]
"n"
(
PAL_rti
),
[
wrent
]
"n"
(
PAL_wrent
)
:
"$0"
,
"$1"
,
"$16"
,
"$17"
,
"$22"
,
"$23"
,
"$24"
,
"$25"
);
if
(
opDEC_fix
)
printk
(
"opDEC fixup enabled.
\n
"
);
}
void
...
...
@@ -244,7 +247,7 @@ do_entIF(unsigned long type, struct pt_regs *regs)
siginfo_t
info
;
int
signo
,
code
;
if
(
!
opDEC_testing
||
type
!
=
4
)
{
if
(
regs
->
ps
=
=
0
)
{
if
(
type
==
1
)
{
const
unsigned
int
*
data
=
(
const
unsigned
int
*
)
regs
->
pc
;
...
...
@@ -359,14 +362,6 @@ do_entIF(unsigned long type, struct pt_regs *regs)
fault during the boot sequence and testing if
we get the correct PC. If not, we set a flag
to correct it every time through. */
if
(
opDEC_testing
)
{
if
(
regs
->
pc
==
opDEC_test_pc
)
{
opDEC_fix
=
4
;
regs
->
pc
+=
4
;
printk
(
"opDEC fixup enabled.
\n
"
);
}
return
;
}
regs
->
pc
+=
opDEC_fix
;
/* EV4 does not implement anything except normal
...
...
@@ -1083,22 +1078,22 @@ do_entUnaUser(void * va, unsigned long opcode,
return
;
}
void
void
__init
trap_init
(
void
)
{
/* Tell PAL-code what global pointer we want in the kernel. */
register
unsigned
long
gptr
__asm__
(
"$29"
);
wrkgp
(
gptr
);
/* Hack for Multia (UDB) and JENSEN: some of their SRMs have
a bug in the handling of the opDEC fault. Fix it up if so. */
if
(
implver
()
==
IMPLVER_EV4
)
opDEC_check
();
wrent
(
entArith
,
1
);
wrent
(
entMM
,
2
);
wrent
(
entIF
,
3
);
wrent
(
entUna
,
4
);
wrent
(
entSys
,
5
);
wrent
(
entDbg
,
6
);
/* Hack for Multia (UDB) and JENSEN: some of their SRMs have
a bug in the handling of the opDEC fault. Fix it up if so. */
if
(
implver
()
==
IMPLVER_EV4
)
opDEC_check
();
}
This diff is collapsed.
Click to expand it.
arch/x86_64/defconfig
View file @
a0b18907
This diff is collapsed.
Click to expand it.
arch/x86_64/kernel/acpi/boot.c
View file @
a0b18907
...
...
@@ -366,6 +366,17 @@ __setup("acpi_pic_sci=", acpi_pic_sci_setup);
#endif
/* CONFIG_ACPI_BUS */
int
acpi_gsi_to_irq
(
u32
gsi
,
unsigned
int
*
irq
)
{
#ifdef CONFIG_X86_IO_APIC
if
(
use_pci_vector
()
&&
!
platform_legacy_irq
(
gsi
))
*
irq
=
IO_APIC_VECTOR
(
gsi
);
else
#endif
*
irq
=
gsi
;
return
0
;
}
static
unsigned
long
__init
acpi_scan_rsdp
(
unsigned
long
start
,
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/kernel/entry.S
View file @
a0b18907
...
...
@@ -402,9 +402,9 @@ ENTRY(stub_rt_sigreturn)
/*
0(%
rsp
):
interrupt
number
*/
.
macro
interrupt
func
CFI_STARTPROC
simple
CFI_DEF_CFA
rsp
,(
SS
-
ORIG_RAX
)
CFI_OFFSET
rsp
,(
RSP
-
SS
)
CFI_OFFSET
rip
,(
RIP
-
SS
)
CFI_DEF_CFA
rsp
,(
SS
-
RDI
)
CFI_
REL_
OFFSET
rsp
,(
RSP
-
ORIG_RAX
)
CFI_
REL_
OFFSET
rip
,(
RIP
-
ORIG_RAX
)
cld
#ifdef CONFIG_DEBUG_INFO
SAVE_ALL
...
...
@@ -805,6 +805,8 @@ ENTRY(debug)
paranoidentry
do_debug
/
*
switch
back
to
process
stack
to
restore
the
state
ptrace
touched
*/
movq
%
rax
,%
rsp
testl
$
3
,
CS
(%
rsp
)
jnz
paranoid_userspace
jmp
paranoid_exit
CFI_ENDPROC
...
...
@@ -816,8 +818,6 @@ ENTRY(nmi)
paranoidentry
do_nmi
/
*
ebx
:
no
swapgs
flag
*/
paranoid_exit
:
testl
$
3
,
CS
(%
rsp
)
jnz
paranoid_userspace
testl
%
ebx
,%
ebx
/*
swapgs
needed
?
*/
jnz
paranoid_restore
paranoid_swapgs
:
...
...
@@ -870,6 +870,8 @@ ENTRY(double_fault)
CFI_STARTPROC
paranoidentry
do_double_fault
movq
%
rax
,%
rsp
testl
$
3
,
CS
(%
rsp
)
jnz
paranoid_userspace
jmp
paranoid_exit
CFI_ENDPROC
...
...
@@ -884,6 +886,8 @@ ENTRY(stack_segment)
CFI_STARTPROC
paranoidentry
do_stack_segment
movq
%
rax
,%
rsp
testl
$
3
,
CS
(%
rsp
)
jnz
paranoid_userspace
jmp
paranoid_exit
CFI_ENDPROC
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/kernel/mce.c
View file @
a0b18907
...
...
@@ -22,12 +22,13 @@
#include <asm/uaccess.h>
#define MISC_MCELOG_MINOR 227
#define NR_BANKS 5
static
int
mce_disabled
__initdata
;
/* 0: always panic, 1: panic if deadlock possible, 2: try to avoid panic */
static
int
tolerant
=
2
;
static
int
banks
;
static
unsigned
long
disabled_banks
;
static
unsigned
long
bank
[
NR_BANKS
]
=
{
[
0
...
NR_BANKS
-
1
]
=
~
0UL
}
;
/*
* Lockless MCE logging infrastructure.
...
...
@@ -144,7 +145,7 @@ void do_machine_check(struct pt_regs * regs, long error_code)
mb
();
for
(
i
=
0
;
i
<
banks
;
i
++
)
{
if
(
test_bit
(
i
,
&
disabled_
bank
s
)
)
if
(
!
bank
[
i
]
)
continue
;
rdmsrl
(
MSR_IA32_MC0_STATUS
+
i
*
4
,
m
.
status
);
...
...
@@ -179,7 +180,7 @@ void do_machine_check(struct pt_regs * regs, long error_code)
confused it's normally not necessary to panic, unless you are
paranoid (tolerant == 0) */
if
(
!
user_space
&&
(
panic_on_oops
||
tolerant
<
2
))
mce_panic
(
"Uncorrected machine check
in kernel
"
,
&
m
,
mcestart
);
mce_panic
(
"Uncorrected machine check"
,
&
m
,
mcestart
);
/* do_exit takes an awful lot of locks and has as slight risk
of deadlocking. If you don't want that don't set tolerant >= 2 */
...
...
@@ -238,17 +239,31 @@ static void mce_init(void *dummy)
wrmsr
(
MSR_IA32_MCG_CTL
,
0xffffffff
,
0xffffffff
);
banks
=
cap
&
0xff
;
if
(
banks
>
NR_BANKS
)
{
printk
(
KERN_INFO
"MCE: warning: using only %d banks
\n
"
,
banks
);
banks
=
NR_BANKS
;
}
mce_clear_all
();
for
(
i
=
0
;
i
<
banks
;
i
++
)
{
u64
val
=
test_bit
(
i
,
&
disabled_banks
)
?
0
:
~
0UL
;
wrmsrl
(
MSR_IA32_MC0_CTL
+
4
*
i
,
val
);
wrmsrl
(
MSR_IA32_MC0_CTL
+
4
*
i
,
bank
[
i
]);
wrmsrl
(
MSR_IA32_MC0_STATUS
+
4
*
i
,
0
);
}
set_in_cr4
(
X86_CR4_MCE
);
}
/* Add per CPU specific workarounds here */
static
void
__init
mce_cpu_quirks
(
struct
cpuinfo_x86
*
c
)
{
/* This should be disabled by the BIOS, but isn't always */
if
(
c
->
x86_vendor
==
X86_VENDOR_AMD
&&
c
->
x86
==
15
)
{
/* disable GART TBL walk error reporting, which trips off
incorrectly with the IOMMU & 3ware & Cerberus. */
clear_bit
(
10
,
&
bank
[
4
]);
}
}
/*
* Called for each booted CPU to set up machine checks.
* Must be called with preempt off.
...
...
@@ -257,6 +272,8 @@ void __init mcheck_init(struct cpuinfo_x86 *c)
{
static
unsigned
long
mce_cpus
__initdata
=
0
;
mce_cpu_quirks
(
c
);
if
(
test_and_set_bit
(
smp_processor_id
(),
&
mce_cpus
)
||
!
mce_available
(
c
))
return
;
...
...
@@ -343,23 +360,9 @@ static int mce_ioctl(struct inode *i, struct file *f,unsigned int cmd, unsigned
}
}
#if 0 /* for testing */
static ssize_t mce_write(struct file *f, const char __user *buf, size_t sz, loff_t *off)
{
struct mce m;
if (sz != sizeof(struct mce))
return -EINVAL;
copy_from_user(&m, buf, sizeof(struct mce));
m.finished = 0;
mce_log(&m);
return sizeof(struct mce);
}
#endif
static
struct
file_operations
mce_chrdev_ops
=
{
.
read
=
mce_read
,
.
ioctl
=
mce_ioctl
,
//.write = mce_write
};
static
struct
miscdevice
mce_log_device
=
{
...
...
@@ -425,23 +428,27 @@ static struct sys_device device_mce = {
};
/* Why are there no generic functions for this? */
#define ACCESSOR(name, start) \
#define ACCESSOR(name,
var,
start) \
static ssize_t show_ ## name(struct sys_device *s, char *buf) { \
return sprintf(buf, "%lu\n", (unsigned long)
name
); \
return sprintf(buf, "%lu\n", (unsigned long)
var
); \
} \
static ssize_t set_ ## name(struct sys_device *s,const char *buf,size_t siz) { \
char *end; \
unsigned long new = simple_strtoul(buf, &end, 0); \
if (end == buf) return -EINVAL; \
name
= new; \
var
= new; \
start; \
return end-buf; \
} \
static SYSDEV_ATTR(name, 0644, show_ ## name, set_ ## name);
ACCESSOR
(
disabled_banks
,
mce_restart
())
ACCESSOR
(
tolerant
,)
ACCESSOR
(
check_interval
,
mce_restart
())
ACCESSOR
(
bank0ctl
,
bank
[
0
],
mce_restart
())
ACCESSOR
(
bank1ctl
,
bank
[
1
],
mce_restart
())
ACCESSOR
(
bank2ctl
,
bank
[
2
],
mce_restart
())
ACCESSOR
(
bank3ctl
,
bank
[
3
],
mce_restart
())
ACCESSOR
(
bank4ctl
,
bank
[
4
],
mce_restart
())
ACCESSOR
(
tolerant
,
tolerant
,)
ACCESSOR
(
check_interval
,
check_interval
,
mce_restart
())
static
__init
int
mce_init_device
(
void
)
{
...
...
@@ -453,7 +460,11 @@ static __init int mce_init_device(void)
err
=
sysdev_register
(
&
device_mce
);
if
(
!
err
)
{
/* could create per CPU objects, but is not worth it. */
sysdev_create_file
(
&
device_mce
,
&
attr_disabled_banks
);
sysdev_create_file
(
&
device_mce
,
&
attr_bank0ctl
);
sysdev_create_file
(
&
device_mce
,
&
attr_bank1ctl
);
sysdev_create_file
(
&
device_mce
,
&
attr_bank2ctl
);
sysdev_create_file
(
&
device_mce
,
&
attr_bank3ctl
);
sysdev_create_file
(
&
device_mce
,
&
attr_bank4ctl
);
sysdev_create_file
(
&
device_mce
,
&
attr_tolerant
);
sysdev_create_file
(
&
device_mce
,
&
attr_check_interval
);
}
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/kernel/mpparse.c
View file @
a0b18907
...
...
@@ -9,7 +9,7 @@
* Erich Boleyn : MP v1.4 and additional changes.
* Alan Cox : Added EBDA scanning
* Ingo Molnar : various cleanups and rewrites
* Maciej W. Rozycki
: Bits for default MP configurations
*
Maciej W. Rozycki: Bits for default MP configurations
* Paul Diefenbaugh: Added full ACPI support
*/
...
...
@@ -690,25 +690,25 @@ void __init mp_register_lapic (
struct
mp_ioapic_routing
{
int
apic_id
;
int
irq
_start
;
int
irq
_end
;
int
gsi
_start
;
int
gsi
_end
;
u32
pin_programmed
[
4
];
}
mp_ioapic_routing
[
MAX_IO_APICS
];
static
int
__init
mp_find_ioapic
(
int
irq
)
int
gsi
)
{
int
i
=
0
;
/* Find the IOAPIC that manages this
IRQ
. */
/* Find the IOAPIC that manages this
GSI
. */
for
(
i
=
0
;
i
<
nr_ioapics
;
i
++
)
{
if
((
irq
>=
mp_ioapic_routing
[
i
].
irq
_start
)
&&
(
irq
<=
mp_ioapic_routing
[
i
].
irq
_end
))
if
((
gsi
>=
mp_ioapic_routing
[
i
].
gsi
_start
)
&&
(
gsi
<=
mp_ioapic_routing
[
i
].
gsi
_end
))
return
i
;
}
printk
(
KERN_ERR
"ERROR: Unable to locate IOAPIC for
IRQ
%d
\n
"
,
irq
);
printk
(
KERN_ERR
"ERROR: Unable to locate IOAPIC for
GSI
%d
\n
"
,
gsi
);
return
-
1
;
}
...
...
@@ -717,7 +717,7 @@ static int __init mp_find_ioapic (
void
__init
mp_register_ioapic
(
u8
id
,
u32
address
,
u32
irq
_base
)
u32
gsi
_base
)
{
int
idx
=
0
;
...
...
@@ -743,19 +743,19 @@ void __init mp_register_ioapic (
mp_ioapics
[
idx
].
mpc_apicver
=
io_apic_get_version
(
idx
);
/*
* Build basic IRQ lookup table to facilitate
irq
->io_apic lookups
* Build basic IRQ lookup table to facilitate
gsi
->io_apic lookups
* and to prevent reprogramming of IOAPIC pins (PCI IRQs).
*/
mp_ioapic_routing
[
idx
].
apic_id
=
mp_ioapics
[
idx
].
mpc_apicid
;
mp_ioapic_routing
[
idx
].
irq
_start
=
irq
_base
;
mp_ioapic_routing
[
idx
].
irq
_end
=
irq
_base
+
mp_ioapic_routing
[
idx
].
gsi
_start
=
gsi
_base
;
mp_ioapic_routing
[
idx
].
gsi
_end
=
gsi
_base
+
io_apic_get_redir_entries
(
idx
);
printk
(
KERN_INFO
"IOAPIC[%d]: apic_id %d, version %d, address 0x%x, "
"
IRQ
%d-%d
\n
"
,
idx
,
mp_ioapics
[
idx
].
mpc_apicid
,
"
GSI
%d-%d
\n
"
,
idx
,
mp_ioapics
[
idx
].
mpc_apicid
,
mp_ioapics
[
idx
].
mpc_apicver
,
mp_ioapics
[
idx
].
mpc_apicaddr
,
mp_ioapic_routing
[
idx
].
irq
_start
,
mp_ioapic_routing
[
idx
].
irq
_end
);
mp_ioapic_routing
[
idx
].
gsi
_start
,
mp_ioapic_routing
[
idx
].
gsi
_end
);
return
;
}
...
...
@@ -765,7 +765,7 @@ void __init mp_override_legacy_irq (
u8
bus_irq
,
u8
polarity
,
u8
trigger
,
u32
g
lobal_irq
)
u32
g
si
)
{
struct
mpc_config_intsrc
intsrc
;
int
i
=
0
;
...
...
@@ -774,12 +774,12 @@ void __init mp_override_legacy_irq (
int
pin
=
-
1
;
/*
* Convert 'g
lobal_irq
' to 'ioapic.pin'.
* Convert 'g
si
' to 'ioapic.pin'.
*/
ioapic
=
mp_find_ioapic
(
g
lobal_irq
);
ioapic
=
mp_find_ioapic
(
g
si
);
if
(
ioapic
<
0
)
return
;
pin
=
g
lobal_irq
-
mp_ioapic_routing
[
ioapic
].
irq
_start
;
pin
=
g
si
-
mp_ioapic_routing
[
ioapic
].
gsi
_start
;
/*
* TBD: This check is for faulty timer entries, where the override
...
...
@@ -804,7 +804,7 @@ void __init mp_override_legacy_irq (
/*
* If an existing [IOAPIC.PIN -> IRQ] routing entry exists we override it.
* Otherwise create a new entry (e.g. g
lobal_irq
== 2).
* Otherwise create a new entry (e.g. g
si
== 2).
*/
for
(
i
=
0
;
i
<
mp_irq_entries
;
i
++
)
{
if
((
mp_irqs
[
i
].
mpc_srcbus
==
intsrc
.
mpc_srcbus
)
...
...
@@ -878,7 +878,7 @@ void __init mp_config_acpi_legacy_irqs (void)
extern
FADT_DESCRIPTOR
acpi_fadt
;
void
__init
mp_config_ioapic_for_sci
(
int
irq
)
void
__init
mp_config_ioapic_for_sci
(
u32
gsi
)
{
#ifdef CONFIG_ACPI_INTERPRETER
int
ioapic
;
...
...
@@ -926,11 +926,11 @@ void __init mp_config_ioapic_for_sci(int irq)
*/
flags
=
entry
->
flags
;
acpi_fadt
.
sci_int
=
entry
->
global_irq
;
irq
=
entry
->
global_irq
;
gsi
=
entry
->
global_irq
;
ioapic
=
mp_find_ioapic
(
irq
);
ioapic
=
mp_find_ioapic
(
gsi
);
ioapic_pin
=
irq
-
mp_ioapic_routing
[
ioapic
].
irq
_start
;
ioapic_pin
=
gsi
-
mp_ioapic_routing
[
ioapic
].
gsi
_start
;
/*
* MPS INTI flags:
...
...
@@ -938,7 +938,7 @@ void __init mp_config_ioapic_for_sci(int irq)
* polarity: 0=default, 1=high, 3=low
* Per ACPI spec, default for SCI means level/low.
*/
io_apic_set_pci_routing
(
ioapic
,
ioapic_pin
,
irq
,
io_apic_set_pci_routing
(
ioapic
,
ioapic_pin
,
gsi
,
(
flags
.
trigger
==
1
?
0
:
1
),
(
flags
.
polarity
==
1
?
0
:
1
));
#endif
}
...
...
@@ -951,7 +951,7 @@ void __init mp_parse_prt (void)
struct
acpi_prt_entry
*
entry
=
NULL
;
int
ioapic
=
-
1
;
int
ioapic_pin
=
0
;
int
irq
=
0
;
int
gsi
=
0
;
int
idx
,
bit
=
0
;
int
edge_level
=
0
;
int
active_high_low
=
0
;
...
...
@@ -963,30 +963,30 @@ void __init mp_parse_prt (void)
list_for_each
(
node
,
&
acpi_prt
.
entries
)
{
entry
=
list_entry
(
node
,
struct
acpi_prt_entry
,
node
);
/* Need to get
irq
for dynamic entry */
/* Need to get
gsi
for dynamic entry */
if
(
entry
->
link
.
handle
)
{
irq
=
acpi_pci_link_get_irq
(
entry
->
link
.
handle
,
entry
->
link
.
index
,
&
edge_level
,
&
active_high_low
);
if
(
!
irq
)
gsi
=
acpi_pci_link_get_irq
(
entry
->
link
.
handle
,
entry
->
link
.
index
,
&
edge_level
,
&
active_high_low
);
if
(
!
gsi
)
continue
;
}
else
{
/* Hardwired
IRQ
. Assume PCI standard settings */
irq
=
entry
->
link
.
index
;
/* Hardwired
GSI
. Assume PCI standard settings */
gsi
=
entry
->
link
.
index
;
edge_level
=
1
;
active_high_low
=
1
;
}
/* Don't set up the ACPI SCI because it's already set up */
if
(
acpi_fadt
.
sci_int
==
irq
)
if
(
acpi_fadt
.
sci_int
==
gsi
)
continue
;
ioapic
=
mp_find_ioapic
(
irq
);
ioapic
=
mp_find_ioapic
(
gsi
);
if
(
ioapic
<
0
)
continue
;
ioapic_pin
=
irq
-
mp_ioapic_routing
[
ioapic
].
irq
_start
;
ioapic_pin
=
gsi
-
mp_ioapic_routing
[
ioapic
].
gsi
_start
;
/*
* Avoid pin reprogramming. PRTs typically include entries
* with redundant pin->
irq
mappings (but unique PCI devices);
* with redundant pin->
gsi
mappings (but unique PCI devices);
* we only only program the IOAPIC on the first.
*/
bit
=
ioapic_pin
%
32
;
...
...
@@ -1000,20 +1000,16 @@ void __init mp_parse_prt (void)
if
((
1
<<
bit
)
&
mp_ioapic_routing
[
ioapic
].
pin_programmed
[
idx
])
{
Dprintk
(
KERN_DEBUG
"Pin %d-%d already programmed
\n
"
,
mp_ioapic_routing
[
ioapic
].
apic_id
,
ioapic_pin
);
if
(
use_pci_vector
()
&&
!
platform_legacy_irq
(
irq
))
irq
=
IO_APIC_VECTOR
(
irq
);
entry
->
irq
=
irq
;
acpi_gsi_to_irq
(
gsi
,
&
entry
->
irq
);
continue
;
}
mp_ioapic_routing
[
ioapic
].
pin_programmed
[
idx
]
|=
(
1
<<
bit
);
if
(
!
io_apic_set_pci_routing
(
ioapic
,
ioapic_pin
,
irq
,
edge_level
,
active_high_low
))
{
if
(
use_pci_vector
()
&&
!
platform_legacy_irq
(
irq
))
irq
=
IO_APIC_VECTOR
(
irq
);
entry
->
irq
=
irq
;
if
(
!
io_apic_set_pci_routing
(
ioapic
,
ioapic_pin
,
gsi
,
edge_level
,
active_high_low
))
{
acpi_gsi_to_irq
(
gsi
,
&
entry
->
irq
);
}
printk
(
KERN_DEBUG
"%02x:%02x:%02x[%c] -> %d-%d
"
" -> IRQ %d
\n
"
,
entry
->
id
.
segment
,
entry
->
id
.
bus
,
printk
(
KERN_DEBUG
"%02x:%02x:%02x[%c] -> %d-%d
-> IRQ %d
\n
"
,
entry
->
id
.
segment
,
entry
->
id
.
bus
,
entry
->
id
.
device
,
(
'A'
+
entry
->
pin
),
mp_ioapic_routing
[
ioapic
].
apic_id
,
ioapic_pin
,
entry
->
irq
);
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/kernel/pci-gart.c
View file @
a0b18907
...
...
@@ -21,6 +21,7 @@
#include <linux/pci.h>
#include <linux/module.h>
#include <linux/topology.h>
#include <linux/interrupt.h>
#include <asm/atomic.h>
#include <asm/io.h>
#include <asm/mtrr.h>
...
...
@@ -31,6 +32,12 @@
#include <asm/kdebug.h>
#include <asm/proto.h>
#ifdef CONFIG_PREEMPT
#define preempt_atomic() in_atomic()
#else
#define preempt_atomic() 1
#endif
dma_addr_t
bad_dma_address
;
unsigned
long
iommu_bus_base
;
/* GART remapping area (physical) */
...
...
@@ -96,6 +103,8 @@ AGPEXTERN __u32 *agp_gatt_table;
static
unsigned
long
next_bit
;
/* protected by iommu_bitmap_lock */
static
int
need_flush
;
/* global flush state. set for each gart wrap */
static
dma_addr_t
pci_map_area
(
struct
pci_dev
*
dev
,
unsigned
long
phys_mem
,
size_t
size
,
int
dir
);
static
unsigned
long
alloc_iommu
(
int
size
)
{
...
...
@@ -169,43 +178,44 @@ static void flush_gart(struct pci_dev *dev)
/*
* Allocate memory for a consistent mapping.
* All mappings are consistent here, so this is just a wrapper around
* pci_map_single.
*/
void
*
pci_alloc_consistent
(
struct
pci_dev
*
hwdev
,
size_t
size
,
dma_addr_t
*
dma_handle
)
{
void
*
memory
;
int
gfp
=
GFP_ATOMIC
;
unsigned
long
dma_mask
;
int
gfp
=
preempt_atomic
()
?
GFP_ATOMIC
:
GFP_KERNEL
;
unsigned
long
dma_mask
=
0
;
u64
bus
;
if
(
hwdev
==
NULL
)
{
gfp
|=
GFP_DMA
;
dma_mask
=
0xffffffff
;
}
else
{
if
(
hwdev
)
dma_mask
=
hwdev
->
dev
.
coherent_dma_mask
;
}
if
(
dma_mask
==
0
)
dma_mask
=
0xffffffff
;
if
(
dma_mask
<
0xffffffff
||
no_iommu
)
gfp
|=
GFP_DMA
;
/* Kludge to make it bug-to-bug compatible with i386. i386
uses the normal dma_mask for alloc_consistent. */
dma_mask
&=
hwdev
->
dma_mask
;
again:
memory
=
(
void
*
)
__get_free_pages
(
gfp
,
get_order
(
size
));
if
(
memory
==
NULL
)
{
if
(
memory
==
NULL
)
return
NULL
;
}
else
{
{
int
high
,
mmu
;
high
=
((
unsigned
long
)
virt_to_bus
(
memory
)
+
size
)
>=
dma_mask
;
bus
=
virt_to_bus
(
memory
);
high
=
(
bus
+
size
)
>=
dma_mask
;
mmu
=
high
;
if
(
force_iommu
&&
!
(
gfp
&
GFP_DMA
))
mmu
=
1
;
if
(
no_iommu
)
{
if
(
high
)
goto
error
;
if
(
no_iommu
||
dma_mask
<
0xffffffffUL
)
{
if
(
high
)
{
if
(
!
(
gfp
&
GFP_DMA
))
{
gfp
|=
GFP_DMA
;
goto
again
;
}
goto
free
;
}
mmu
=
0
;
}
memset
(
memory
,
0
,
size
);
...
...
@@ -215,15 +225,16 @@ void *pci_alloc_consistent(struct pci_dev *hwdev, size_t size,
}
}
*
dma_handle
=
pci_map_
single
(
hwdev
,
memory
,
size
,
0
);
*
dma_handle
=
pci_map_
area
(
hwdev
,
bus
,
size
,
PCI_DMA_BIDIRECTIONAL
);
if
(
*
dma_handle
==
bad_dma_address
)
goto
error
;
flush_gart
(
hwdev
);
return
memory
;
error:
if
(
panic_on_overflow
)
panic
(
"pci_map_single: overflow %lu bytes
\n
"
,
size
);
panic
(
"pci_alloc_consistent: overflow %lu bytes
\n
"
,
size
);
free:
free_pages
((
unsigned
long
)
memory
,
get_order
(
size
));
return
NULL
;
}
...
...
@@ -608,6 +619,7 @@ EXPORT_SYMBOL(pci_unmap_single);
EXPORT_SYMBOL
(
pci_dma_supported
);
EXPORT_SYMBOL
(
no_iommu
);
EXPORT_SYMBOL
(
force_iommu
);
EXPORT_SYMBOL
(
bad_dma_address
);
static
__init
unsigned
long
check_iommu_size
(
unsigned
long
aper
,
u64
aper_size
)
{
...
...
@@ -733,7 +745,7 @@ static int __init pci_iommu_init(void)
if
(
swiotlb
)
{
no_iommu
=
1
;
printk
(
KERN_INFO
"PCI-DMA: Using SWIOTLB
:-(
\n
"
);
printk
(
KERN_INFO
"PCI-DMA: Using
software bounce buffering for IO (
SWIOTLB
)
\n
"
);
return
-
1
;
}
...
...
@@ -837,6 +849,7 @@ fs_initcall(pci_iommu_init);
forcesac For SAC mode for masks <40bits (experimental)
fullflush Flush IOMMU on each allocation (default)
nofullflush Don't use IOMMU fullflush
soft Use software bounce buffering (default for Intel machines)
*/
__init
int
iommu_setup
(
char
*
opt
)
{
...
...
@@ -876,6 +889,8 @@ __init int iommu_setup(char *opt)
iommu_fullflush
=
1
;
if
(
!
memcmp
(
p
,
"nofullflush"
,
11
))
iommu_fullflush
=
0
;
if
(
!
memcmp
(
p
,
"soft"
,
4
))
swiotlb
=
1
;
#ifdef CONFIG_IOMMU_LEAK
if
(
!
memcmp
(
p
,
"leak"
,
4
))
{
leak_trace
=
1
;
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/kernel/process.c
View file @
a0b18907
...
...
@@ -32,6 +32,7 @@
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/ptrace.h>
#include <linux/version.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
...
...
@@ -205,7 +206,8 @@ void __show_regs(struct pt_regs * regs)
printk
(
"
\n
"
);
print_modules
();
printk
(
"Pid: %d, comm: %.20s %s
\n
"
,
current
->
pid
,
current
->
comm
,
print_tainted
());
printk
(
"Pid: %d, comm: %.20s %s %s
\n
"
,
current
->
pid
,
current
->
comm
,
print_tainted
(),
UTS_RELEASE
);
printk
(
"RIP: %04lx:[<%016lx>] "
,
regs
->
cs
&
0xffff
,
regs
->
rip
);
printk_address
(
regs
->
rip
);
printk
(
"
\n
RSP: %04lx:%016lx EFLAGS: %08lx
\n
"
,
regs
->
ss
,
regs
->
rsp
,
regs
->
eflags
);
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/kernel/setup.c
View file @
a0b18907
...
...
@@ -232,7 +232,7 @@ static __init void parse_cmdline_early (char ** cmdline_p)
if
(
!
memcmp
(
from
,
"noapic"
,
6
))
skip_ioapic_setup
=
1
;
if
(
!
memcmp
(
from
,
"apic"
,
6
))
{
if
(
!
memcmp
(
from
,
"apic"
,
4
))
{
skip_ioapic_setup
=
0
;
ioapic_force
=
1
;
}
...
...
@@ -453,9 +453,7 @@ void __init setup_arch(char **cmdline_p)
paging_init
();
#ifndef CONFIG_SMP
/* Temporary hack: disable the IO-APIC for UP Nvidia and
This is until we sort out the ACPI problems. */
if
(
!
acpi_disabled
)
/* Temporary hack: disable the IO-APIC for UP Nvidia and VIA. */
check_ioapic
();
#endif
#ifdef CONFIG_ACPI_BOOT
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/mm/init.c
View file @
a0b18907
...
...
@@ -405,10 +405,10 @@ void __init mem_init(void)
int
tmp
;
#ifdef CONFIG_SWIOTLB
if
(
!
iommu_aperture
&&
end_pfn
>=
0xffffffff
>>
PAGE_SHIFT
)
{
swiotlb_init
();
if
(
!
iommu_aperture
&&
end_pfn
>=
0xffffffff
>>
PAGE_SHIFT
)
swiotlb
=
1
;
}
if
(
swiotlb
)
swiotlb_init
();
#endif
/* How many end-of-memory variables you have, grandma! */
...
...
This diff is collapsed.
Click to expand it.
arch/x86_64/pci/mmconfig.c
View file @
a0b18907
...
...
@@ -88,7 +88,7 @@ static int __init pci_mmcfg_init(void)
return
0
;
}
printk
(
KERN_INFO
"PCI: Using MMCONFIG at %
l
x
\n
"
,
pci_mmcfg_base_addr
);
printk
(
KERN_INFO
"PCI: Using MMCONFIG at %x
\n
"
,
pci_mmcfg_base_addr
);
raw_pci_ops
=
&
pci_mmcfg
;
pci_probe
=
(
pci_probe
&
~
PCI_PROBE_MASK
)
|
PCI_PROBE_MMCONF
;
...
...
This diff is collapsed.
Click to expand it.
drivers/char/rtc.c
View file @
a0b18907
...
...
@@ -110,6 +110,8 @@ static int rtc_has_irq = 1;
#define hpet_rtc_timer_init() do { } while (0)
#define hpet_rtc_dropped_irq() 0
static
inline
irqreturn_t
hpet_rtc_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
return
0
;}
#else
extern
irqreturn_t
hpet_rtc_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
);
#endif
/*
...
...
This diff is collapsed.
Click to expand it.
drivers/char/vt.c
View file @
a0b18907
...
...
@@ -2481,19 +2481,18 @@ static int con_open(struct tty_struct *tty, struct file * filp)
return
0
;
}
static
void
con_close
(
struct
tty_struct
*
tty
,
struct
file
*
filp
)
static
void
con_close
(
struct
tty_struct
*
tty
,
struct
file
*
filp
)
{
struct
vt_struct
*
vt
;
if
(
!
tty
||
tty
->
count
!=
1
)
return
;
vcs_remove_devfs
(
tty
);
acquire_console_sem
();
vt
=
(
struct
vt_struct
*
)
tty
->
driver_data
;
if
(
vt
)
vc_cons
[
vt
->
vc_num
].
d
->
vc_tty
=
NULL
;
tty
->
driver_data
=
0
;
if
(
tty
&&
tty
->
count
==
1
)
{
struct
vt_struct
*
vt
;
vcs_remove_devfs
(
tty
);
vt
=
tty
->
driver_data
;
if
(
vt
)
vc_cons
[
vt
->
vc_num
].
d
->
vc_tty
=
NULL
;
tty
->
driver_data
=
0
;
}
release_console_sem
();
}
...
...
This diff is collapsed.
Click to expand it.
drivers/macintosh/Kconfig
View file @
a0b18907
...
...
@@ -175,8 +175,8 @@ config THERM_WINDTUNNEL
This driver provides some thermostat and fan control for the desktop
G4 "Windtunnel"
config THERM_ADT746
7
tristate "Support for thermal mgmnt on laptops with ADT 746
7
chipset"
config THERM_ADT746
X
tristate "Support for thermal mgmnt on laptops with ADT 746
x
chipset"
depends on I2C && I2C_KEYWEST && PPC_PMAC && !PPC_PMAC64
help
This driver provides some thermostat and fan control for the
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment