Mercurial > illumos > illumos-gate
changeset 11196:e5a90c51ae9c
6901819 pcie should enable error reporting for i86xpv
author | Frank Van Der Linden <Frank.Vanderlinden@Sun.COM> |
---|---|
date | Wed, 25 Nov 2009 09:35:02 -0800 |
parents | ee2c1bd94ea5 |
children | 731a4b79a7f8 |
files | usr/src/pkgdefs/SUNWcakr.i/prototype_com usr/src/pkgdefs/SUNWcakrx.i/prototype_com usr/src/pkgdefs/SUNWckr/prototype_i386 usr/src/uts/common/io/pciex/pcie.c usr/src/uts/i86pc/pcie/Makefile usr/src/uts/i86xpv/Makefile.files usr/src/uts/i86xpv/Makefile.i86xpv.shared usr/src/uts/i86xpv/pcie/Makefile |
diffstat | 8 files changed, 4 insertions(+), 114 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/pkgdefs/SUNWcakr.i/prototype_com Tue Nov 24 21:23:12 2009 -0800 +++ b/usr/src/pkgdefs/SUNWcakr.i/prototype_com Wed Nov 25 09:35:02 2009 -0800 @@ -100,10 +100,8 @@ d none platform/i86pc/kernel/misc/amd64 755 root sys f none platform/i86pc/kernel/misc/amd64/acpidev 755 root sys f none platform/i86pc/kernel/misc/amd64/gfx_private 755 root sys -f none platform/i86pc/kernel/misc/amd64/pcie 755 root sys f none platform/i86pc/kernel/misc/acpidev 755 root sys f none platform/i86pc/kernel/misc/gfx_private 755 root sys -f none platform/i86pc/kernel/misc/pcie 755 root sys f none platform/i86pc/kernel/unix 755 root sys f none platform/i86pc/multiboot 755 root sys d none platform/i86pc/ucode 755 root sys
--- a/usr/src/pkgdefs/SUNWcakrx.i/prototype_com Tue Nov 24 21:23:12 2009 -0800 +++ b/usr/src/pkgdefs/SUNWcakrx.i/prototype_com Wed Nov 25 09:35:02 2009 -0800 @@ -79,7 +79,6 @@ f none platform/i86xpv/kernel/mach/xpv_uppc 755 root sys d none platform/i86xpv/kernel/misc 755 root sys f none platform/i86xpv/kernel/misc/gfx_private 755 root sys -f none platform/i86xpv/kernel/misc/pcie 755 root sys f none platform/i86xpv/kernel/misc/xpv_autoconfig 755 root sys d none platform/i86xpv/kernel/tod 755 root sys f none platform/i86xpv/kernel/tod/xpvtod 755 root sys @@ -112,7 +111,6 @@ f none platform/i86xpv/kernel/mach/amd64/xpv_uppc 755 root sys d none platform/i86xpv/kernel/misc/amd64 755 root sys f none platform/i86xpv/kernel/misc/amd64/gfx_private 755 root sys -f none platform/i86xpv/kernel/misc/amd64/pcie 755 root sys f none platform/i86xpv/kernel/misc/amd64/xnb 755 root sys f none platform/i86xpv/kernel/misc/amd64/xpv_autoconfig 755 root sys d none platform/i86xpv/kernel/tod/amd64 755 root sys
--- a/usr/src/pkgdefs/SUNWckr/prototype_i386 Tue Nov 24 21:23:12 2009 -0800 +++ b/usr/src/pkgdefs/SUNWckr/prototype_i386 Wed Nov 25 09:35:02 2009 -0800 @@ -228,6 +228,7 @@ f none kernel/misc/net80211 755 root sys f none kernel/misc/neti 755 root sys f none kernel/misc/pcicfg 755 root sys +f none kernel/misc/pcie 755 root sys f none kernel/misc/pcihp 755 root sys f none kernel/misc/pci_autoconfig 755 root sys f none kernel/misc/pcmcia 755 root sys @@ -448,6 +449,7 @@ f none kernel/misc/amd64/net80211 755 root sys f none kernel/misc/amd64/neti 755 root sys f none kernel/misc/amd64/pcicfg 755 root sys +f none kernel/misc/amd64/pcie 755 root sys f none kernel/misc/amd64/pcihp 755 root sys f none kernel/misc/amd64/pci_autoconfig 755 root sys f none kernel/misc/amd64/pcmcia 755 root sys
--- a/usr/src/uts/common/io/pciex/pcie.c Tue Nov 24 21:23:12 2009 -0800 +++ b/usr/src/uts/common/io/pciex/pcie.c Wed Nov 25 09:35:02 2009 -0800 @@ -94,16 +94,10 @@ PCIE_ROOTCTL_SYS_ERR_ON_NFE_EN | \ PCIE_ROOTCTL_SYS_ERR_ON_FE_EN) -#if defined(__xpv) -ushort_t pcie_root_ctrl_default = - PCIE_ROOTCTL_SYS_ERR_ON_NFE_EN | - PCIE_ROOTCTL_SYS_ERR_ON_FE_EN; -#else ushort_t pcie_root_ctrl_default = PCIE_ROOTCTL_SYS_ERR_ON_CE_EN | PCIE_ROOTCTL_SYS_ERR_ON_NFE_EN | PCIE_ROOTCTL_SYS_ERR_ON_FE_EN; -#endif /* __xpv */ /* PCI-Express Root Error Command Register */ ushort_t pcie_root_error_cmd_default = @@ -991,19 +985,9 @@ (reg16 = PCIE_CAP_GET(16, bus_p, PCIE_ROOTCTL)) != PCI_CAP_EINVAL16) { -#if defined(__xpv) - /* - * When we're booted under the hypervisor we won't receive - * MSI's, so to ensure that uncorrectable errors aren't ignored - * we set the SERR_FAT and SERR_NONFAT bits in the Root Control - * Register. - */ - tmp16 = pcie_root_ctrl_default; -#else tmp16 = pcie_serr_disable_flag ? (pcie_root_ctrl_default & ~PCIE_ROOT_SYS_ERR) : pcie_root_ctrl_default; -#endif /* __xpv */ PCIE_CAP_PUT(16, bus_p, PCIE_ROOTCTL, tmp16); PCIE_DBG_CAP(dip, bus_p, "ROOT DEVCTL", 16, PCIE_ROOTCTL, reg16); @@ -1071,7 +1055,6 @@ if (!PCIE_IS_ROOT(bus_p)) return; -#if !defined(__xpv) if ((reg16 = PCIE_AER_GET(16, bus_p, PCIE_AER_RE_CMD)) != PCI_CAP_EINVAL16) { PCIE_AER_PUT(16, bus_p, PCIE_AER_RE_CMD, @@ -1079,7 +1062,6 @@ PCIE_DBG_AER(dip, bus_p, "AER Root Err Cmd", 16, PCIE_AER_RE_CMD, reg16); } -#endif /* __xpv */ } /*
--- a/usr/src/uts/i86pc/pcie/Makefile Tue Nov 24 21:23:12 2009 -0800 +++ b/usr/src/uts/i86pc/pcie/Makefile Wed Nov 25 09:35:02 2009 -0800 @@ -44,7 +44,7 @@ $(PCI_STRING_OBJS:%=$(OBJS_DIR)/%) LINTS = $(PCIE_MISC_OBJS:%.o=$(LINTS_DIR)/%.ln) \ $(PCI_STRING_OBJS:%.o=$(LINTS_DIR)/%.ln) -ROOTMODULE = $(ROOT_PSM_MISC_DIR)/$(MODULE) +ROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE) # # Include common rules.
--- a/usr/src/uts/i86xpv/Makefile.files Tue Nov 24 21:23:12 2009 -0800 +++ b/usr/src/uts/i86xpv/Makefile.files Wed Nov 25 09:35:02 2009 -0800 @@ -190,7 +190,6 @@ gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o -PCIE_MISC_OBJS += pcie_acpi.o pciehpc_acpi.o pcie_x86.o PCI_E_NEXUS_OBJS += npe.o npe_misc.o PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o
--- a/usr/src/uts/i86xpv/Makefile.i86xpv.shared Tue Nov 24 21:23:12 2009 -0800 +++ b/usr/src/uts/i86xpv/Makefile.i86xpv.shared Wed Nov 25 09:35:02 2009 -0800 @@ -302,7 +302,7 @@ # # 'Misc' Modules (/kernel/misc): # -MISC_KMODS += xpv_autoconfig gfx_private pcie xnb +MISC_KMODS += xpv_autoconfig gfx_private xnb # 'Dacf' modules (/kernel/dacf) #
--- a/usr/src/uts/i86xpv/pcie/Makefile Tue Nov 24 21:23:12 2009 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# - -# -# Copyright 2009 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# -# This makefile drives the production of the kernel/misc/pcie module -# for PCI-E Error handling support in PCI-E nexus drivers. -# -# i86xpv implementation architecture dependent -# - -# -# Path to the base of the uts directory tree (usually /usr/src/uts). -# -UTSBASE = ../.. - -# -# Define the module and object file sets. -# -MODULE = pcie -OBJECTS = $(PCIE_MISC_OBJS:%=$(OBJS_DIR)/%) \ - $(PCI_STRING_OBJS:%=$(OBJS_DIR)/%) -LINTS = $(PCIE_MISC_OBJS:%.o=$(LINTS_DIR)/%.ln) \ - $(PCI_STRING_OBJS:%.o=$(LINTS_DIR)/%.ln) -ROOTMODULE = $(ROOT_PSM_MISC_DIR)/$(MODULE) - -# -# Include common rules. -# -include $(UTSBASE)/i86xpv/Makefile.i86xpv - -# -# Dependency -# -LDFLAGS += -dy -Nmisc/acpica -Nmisc/busra - -# -# Define targets -# -ALL_TARGET = $(BINARY) -LINT_TARGET = $(MODULE).lint -INSTALL_TARGET = $(BINARY) $(ROOTMODULE) - -# -# Default build targets. -# -.KEEP_STATE: - -def: $(DEF_DEPS) - -all: $(ALL_DEPS) - -clean: $(CLEAN_DEPS) - -clobber: $(CLOBBER_DEPS) - -lint: $(LINT_DEPS) - -modlintlib: $(MODLINTLIB_DEPS) - -clean.lint: $(CLEAN_LINT_DEPS) - -install: $(INSTALL_DEPS) - -# -# Include common targets. -# -include $(UTSBASE)/i86xpv/Makefile.targ