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