mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-10-29 11:06:29 +08:00
Decode PCI and ECC transactions separately, honor invalid transaction information, and select Pchip errors using the logout summary. Report master aborts without importing Titan-specific dismissal policy. Delegate processor vectors to the bounded EV6 decoder. On system vectors 660/620, capture live PERROR and MISC before acknowledging their defined W1C bits and report live status absent from the saved frame. Leave live chipset registers alone on CPU and environmental vectors: HRM 10.2.5.6 warns that PERROR can have INV set before the error reaches DRIR. Consuming that state from a CPU vector could lose the transaction and its pending system-error notification. Leave PERRMASK as configured by firmware. HRM 10.2.5.7 says a cleared mask bit prevents the corresponding PERROR bit from being set, including by PERRSET. Table 10-43 gives a reset value of zero, so this reporting depends on firmware enabling the errors; changing masks does not establish that previously latched state is cleared. Table 10-42 marks PERROR bit 9 reserved (MBZ/RAZ); remove the obsolete RTO definition and reserve its bitfield. Use the system vector and frame bounds without restricting the reason code to the ES40 values. Preserve invalid frames and unknown environmental layouts in bounded raw dumps. Print CPU registers for uncorrectable system errors, including the PC needed to diagnose NXM. Gate correctable system register dumps on CONFIG_VERBOSE_MCHECK and alpha_verbose_mcheck while retaining their error decode. Keep transaction information unavailable whenever SERR is set, as required by HRM 8.8.2.6. Table 10-42 selects ECC fields for CRE/UECC. The first error freezes PERROR and only LOST can be set afterwards, so mixed error bits were detected together. The expected-probe path has no active Tsunami writer. Reporting and acknowledgment do not establish recovery; panic policy remains separate. Signed-off-by: Magnus Lindholm <linmag7@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
96 lines
3.3 KiB
Makefile
96 lines
3.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the linux kernel.
|
|
#
|
|
|
|
always-$(KBUILD_BUILTIN) := vmlinux.lds
|
|
asflags-y := $(KBUILD_CFLAGS)
|
|
ccflags-y := -Wno-sign-compare
|
|
|
|
obj-y := head.o entry.o traps.o process.o osf_sys.o irq.o \
|
|
irq_alpha.o signal.o setup.o ptrace.o time.o \
|
|
systbls.o err_common.o io.o bugs.o termios.o \
|
|
stacktrace.o
|
|
|
|
obj-$(CONFIG_VGA_HOSE) += console.o
|
|
obj-$(CONFIG_SMP) += smp.o
|
|
obj-$(CONFIG_PCI) += pci.o pci_iommu.o pci-sysfs.o
|
|
obj-$(CONFIG_SRM_ENV) += srm_env.o
|
|
obj-$(CONFIG_MODULES) += module.o
|
|
obj-$(CONFIG_PERF_EVENTS) += perf_event.o
|
|
obj-$(CONFIG_HAVE_PERF_REGS) += perf_regs.o
|
|
obj-$(CONFIG_RTC_DRV_ALPHA) += rtc.o
|
|
obj-$(CONFIG_AUDIT) += audit.o
|
|
|
|
ifdef CONFIG_ALPHA_GENERIC
|
|
|
|
obj-y += core_cia.o core_irongate.o \
|
|
core_mcpcia.o core_polaris.o core_t2.o \
|
|
core_tsunami.o
|
|
|
|
obj-y += sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eiger.o \
|
|
sys_miata.o sys_mikasa.o sys_nautilus.o \
|
|
sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o \
|
|
sys_sable.o sys_sx164.o sys_takara.o
|
|
|
|
ifndef CONFIG_ALPHA_LEGACY_START_ADDRESS
|
|
obj-y += core_marvel.o core_titan.o core_wildfire.o
|
|
obj-y += sys_marvel.o sys_titan.o sys_wildfire.o
|
|
obj-y += err_ev7.o err_titan.o err_marvel.o
|
|
endif
|
|
|
|
obj-y += irq_pyxis.o irq_i8259.o irq_srm.o
|
|
obj-y += err_ev6.o err_tsunami.o
|
|
obj-y += es1888.o smc37c669.o smc37c93x.o pc873xx.o gct.o
|
|
obj-y += srmcons.o
|
|
|
|
else
|
|
|
|
# Misc support
|
|
obj-$(CONFIG_ALPHA_SRM) += srmcons.o
|
|
|
|
# Core logic support
|
|
obj-$(CONFIG_ALPHA_CIA) += core_cia.o
|
|
obj-$(CONFIG_ALPHA_IRONGATE) += core_irongate.o
|
|
obj-$(CONFIG_ALPHA_MARVEL) += core_marvel.o gct.o
|
|
obj-$(CONFIG_ALPHA_MCPCIA) += core_mcpcia.o
|
|
obj-$(CONFIG_ALPHA_POLARIS) += core_polaris.o
|
|
obj-$(CONFIG_ALPHA_T2) += core_t2.o
|
|
obj-$(CONFIG_ALPHA_TSUNAMI) += core_tsunami.o
|
|
obj-$(CONFIG_ALPHA_TITAN) += core_titan.o
|
|
obj-$(CONFIG_ALPHA_WILDFIRE) += core_wildfire.o
|
|
|
|
# Board support
|
|
obj-$(CONFIG_ALPHA_ALCOR) += sys_alcor.o irq_i8259.o irq_srm.o
|
|
obj-$(CONFIG_ALPHA_LX164) += sys_cabriolet.o irq_i8259.o irq_srm.o \
|
|
smc37c93x.o
|
|
obj-$(CONFIG_ALPHA_PC164) += sys_cabriolet.o irq_i8259.o irq_srm.o \
|
|
smc37c93x.o
|
|
obj-$(CONFIG_ALPHA_DP264) += sys_dp264.o irq_i8259.o es1888.o smc37c669.o
|
|
obj-$(CONFIG_ALPHA_SHARK) += sys_dp264.o irq_i8259.o es1888.o smc37c669.o
|
|
obj-$(CONFIG_ALPHA_TITAN) += sys_titan.o irq_i8259.o smc37c669.o
|
|
obj-$(CONFIG_ALPHA_EIGER) += sys_eiger.o irq_i8259.o
|
|
obj-$(CONFIG_ALPHA_MARVEL) += sys_marvel.o
|
|
obj-$(CONFIG_ALPHA_MIATA) += sys_miata.o irq_pyxis.o irq_i8259.o \
|
|
es1888.o smc37c669.o
|
|
obj-$(CONFIG_ALPHA_MIKASA) += sys_mikasa.o irq_i8259.o irq_srm.o
|
|
obj-$(CONFIG_ALPHA_NAUTILUS) += sys_nautilus.o irq_i8259.o irq_srm.o
|
|
obj-$(CONFIG_ALPHA_NORITAKE) += sys_noritake.o irq_i8259.o
|
|
obj-$(CONFIG_ALPHA_RAWHIDE) += sys_rawhide.o irq_i8259.o
|
|
obj-$(CONFIG_ALPHA_RUFFIAN) += sys_ruffian.o irq_pyxis.o irq_i8259.o
|
|
obj-$(CONFIG_ALPHA_RX164) += sys_rx164.o irq_i8259.o
|
|
obj-$(CONFIG_ALPHA_SABLE) += sys_sable.o
|
|
obj-$(CONFIG_ALPHA_SX164) += sys_sx164.o irq_pyxis.o irq_i8259.o \
|
|
irq_srm.o smc37c669.o
|
|
obj-$(CONFIG_ALPHA_TAKARA) += sys_takara.o irq_i8259.o pc873xx.o
|
|
obj-$(CONFIG_ALPHA_WILDFIRE) += sys_wildfire.o irq_i8259.o
|
|
|
|
# Error support
|
|
obj-$(CONFIG_ALPHA_MARVEL) += err_ev7.o err_marvel.o
|
|
obj-$(CONFIG_ALPHA_NAUTILUS) += err_ev6.o
|
|
obj-$(CONFIG_ALPHA_TITAN) += err_ev6.o err_titan.o
|
|
|
|
obj-$(CONFIG_ALPHA_TSUNAMI) += err_ev6.o err_tsunami.o
|
|
|
|
endif # GENERIC
|