diff options
| author | Vikram Hegde <Vikram.Hegde@Sun.COM> | 2009-09-14 21:48:21 -0700 |
|---|---|---|
| committer | Vikram Hegde <Vikram.Hegde@Sun.COM> | 2009-09-14 21:48:21 -0700 |
| commit | 74ce2b1f03bc041fa30fe2245fea81a73bf9c346 (patch) | |
| tree | e65d78cda8651a0f1055e214e65ae497992e783c /usr/src/uts | |
| parent | 79d9aba0525cd09d753de5fa05facf95ca2cd567 (diff) | |
| download | illumos-joyent-74ce2b1f03bc041fa30fe2245fea81a73bf9c346.tar.gz | |
6839215 amd_iommu driver panics dom0 in snv_114.
Diffstat (limited to 'usr/src/uts')
| -rw-r--r-- | usr/src/uts/i86pc/Makefile.files | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/Makefile.i86pc.shared | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/Makefile.rules | 7 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/amd_iommu/Makefile (renamed from usr/src/uts/intel/amd_iommu/Makefile) | 9 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu.c (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu.c) | 4 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu.conf (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu.conf) | 0 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_acpi.c) | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.h (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_acpi.h) | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_cmd.c) | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_impl.c) | 0 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.h (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_impl.h) | 0 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_log.c) | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.h (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_log.h) | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_page_tables.c) | 0 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h (renamed from usr/src/uts/intel/io/amd_iommu/amd_iommu_page_tables.h) | 2 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/sys/Makefile | 1 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/sys/amd_iommu.h (renamed from usr/src/uts/intel/sys/amd_iommu.h) | 2 | ||||
| -rw-r--r-- | usr/src/uts/intel/Makefile.files | 11 | ||||
| -rw-r--r-- | usr/src/uts/intel/Makefile.intel.shared | 1 | ||||
| -rw-r--r-- | usr/src/uts/intel/Makefile.rules | 7 | ||||
| -rw-r--r-- | usr/src/uts/intel/sys/Makefile | 1 |
21 files changed, 27 insertions, 32 deletions
diff --git a/usr/src/uts/i86pc/Makefile.files b/usr/src/uts/i86pc/Makefile.files index da0b6928bf..91756fbb21 100644 --- a/usr/src/uts/i86pc/Makefile.files +++ b/usr/src/uts/i86pc/Makefile.files @@ -206,6 +206,8 @@ ROOTNEX_OBJS += rootnex.o iommu_rscs.o dmar_acpi.o intel_iommu.o TZMON_OBJS += tzmon.o UPPC_OBJS += uppc.o psm_common.o XSVC_OBJS += xsvc.o +AMD_IOMMU_OBJS += amd_iommu.o amd_iommu_impl.o amd_iommu_acpi.o \ + amd_iommu_cmd.o amd_iommu_log.o amd_iommu_page_tables.o # # Build up defines and paths. diff --git a/usr/src/uts/i86pc/Makefile.i86pc.shared b/usr/src/uts/i86pc/Makefile.i86pc.shared index 4b8e780995..cd8d7d1737 100644 --- a/usr/src/uts/i86pc/Makefile.i86pc.shared +++ b/usr/src/uts/i86pc/Makefile.i86pc.shared @@ -255,11 +255,13 @@ DRV_KMODS += xsvc DRV_KMODS += tzmon DRV_KMODS += acpi_drv DRV_KMODS += acpinex +DRV_KMODS += amd_iommu DRV_KMODS += ioat DRV_KMODS += fipe DRV_KMODS += cpudrv + # # Platform Power Modules # diff --git a/usr/src/uts/i86pc/Makefile.rules b/usr/src/uts/i86pc/Makefile.rules index c51773eadb..d17ff166bd 100644 --- a/usr/src/uts/i86pc/Makefile.rules +++ b/usr/src/uts/i86pc/Makefile.rules @@ -79,6 +79,10 @@ $(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) +$(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/amd_iommu/%.c + $(COMPILE.c) -o $@ $< + $(CTFCONVERT_O) + $(OBJS_DIR)/%.o: $(UTSBASE)/i86pc/io/ioat/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) @@ -295,6 +299,9 @@ $(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/acpidev/%.c $(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/acpi/acpinex/%.c @($(LHEAD) $(LINT.c) $< $(LTAIL)) +$(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/amd_iommu/%.c + @($(LHEAD) $(LINT.c) $< $(LTAIL)) + $(LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/io/ioat/%.c @($(LHEAD) $(LINT.c) $< $(LTAIL)) diff --git a/usr/src/uts/intel/amd_iommu/Makefile b/usr/src/uts/i86pc/amd_iommu/Makefile index cc9da32012..b9fb8e2f18 100644 --- a/usr/src/uts/intel/amd_iommu/Makefile +++ b/usr/src/uts/i86pc/amd_iommu/Makefile @@ -23,7 +23,6 @@ # # This Makefile drives production of the amd_iommu driver kernel module. # -# intel implementation architecture dependent # # @@ -37,13 +36,13 @@ UTSBASE = ../.. MODULE = amd_iommu OBJECTS = $(AMD_IOMMU_OBJS:%=$(OBJS_DIR)/%) LINTS = $(AMD_IOMMU_OBJS:%.o=$(LINTS_DIR)/%.ln) -ROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) -CONF_SRCDIR = $(UTSBASE)/intel/io/amd_iommu +ROOTMODULE = $(ROOT_PSM_DRV_DIR)/$(MODULE) +CONF_SRCDIR = $(UTSBASE)/i86pc/io/amd_iommu # # Include common rules. # -include $(UTSBASE)/intel/Makefile.intel +include $(UTSBASE)/i86pc/Makefile.i86pc # # Define targets @@ -81,4 +80,4 @@ install: $(INSTALL_DEPS) $(CONF_INSTALL_DEPS) # # Include common targets. # -include $(UTSBASE)/intel/Makefile.targ +include $(UTSBASE)/i86pc/Makefile.targ diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu.c b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu.c index 8afa190b23..1f638061c0 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu.c +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu.c @@ -34,6 +34,7 @@ #include <sys/conf.h> #include <sys/devops.h> #include <sys/ddi.h> +#include <sys/x86_archext.h> #include <sys/amd_iommu.h> #include "amd_iommu_impl.h" @@ -122,6 +123,9 @@ _init(void) #if defined(__amd64) && !defined(__xpv) + if (get_hwenv() != HW_NATIVE) + return (ENOTSUP); + error = ddi_soft_state_init(&amd_iommu_statep, sizeof (struct amd_iommu_state), 1); if (error) { diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu.conf b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu.conf index 7110453a8d..7110453a8d 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu.conf +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu.conf diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_acpi.c b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c index 9d64ab3c0c..83a808cf16 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_acpi.c +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_acpi.h b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.h index 78106a52e2..adcccb4859 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_acpi.h +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.h @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_cmd.c b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c index 6f66c0dd23..e86f771742 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_cmd.c +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_impl.c b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c index 8deb468c2f..8deb468c2f 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_impl.c +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_impl.h b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.h index 3fdead1177..3fdead1177 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_impl.h +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.h diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_log.c b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c index fdf15af2a3..eb72f03c19 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_log.c +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_log.h b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.h index 2fdbc98521..b9f269986a 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_log.h +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.h @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_page_tables.c b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c index e59a3dde38..e59a3dde38 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_page_tables.c +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c diff --git a/usr/src/uts/intel/io/amd_iommu/amd_iommu_page_tables.h b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h index fa40bb4cb7..bd38293660 100644 --- a/usr/src/uts/intel/io/amd_iommu/amd_iommu_page_tables.h +++ b/usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ diff --git a/usr/src/uts/i86pc/sys/Makefile b/usr/src/uts/i86pc/sys/Makefile index d4f62525de..70234741e1 100644 --- a/usr/src/uts/i86pc/sys/Makefile +++ b/usr/src/uts/i86pc/sys/Makefile @@ -38,6 +38,7 @@ FILEMODE = 644 HDRS= \ acpidev.h \ + amd_iommu.h \ asm_misc.h \ clock.h \ cram.h \ diff --git a/usr/src/uts/intel/sys/amd_iommu.h b/usr/src/uts/i86pc/sys/amd_iommu.h index 2c3221d100..d2e969f355 100644 --- a/usr/src/uts/intel/sys/amd_iommu.h +++ b/usr/src/uts/i86pc/sys/amd_iommu.h @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ diff --git a/usr/src/uts/intel/Makefile.files b/usr/src/uts/intel/Makefile.files index b00253f54e..3216c7c555 100644 --- a/usr/src/uts/intel/Makefile.files +++ b/usr/src/uts/intel/Makefile.files @@ -252,17 +252,6 @@ CORE_PCBE_OBJS = core_pcbe.o AMR_OBJS = amr.o # -# AMD_IOMMU module -# -AMD_IOMMU_OBJS = \ - amd_iommu.o \ - amd_iommu_impl.o \ - amd_iommu_acpi.o \ - amd_iommu_cmd.o \ - amd_iommu_log.o \ - amd_iommu_page_tables.o - -# # IOMMULIB module # IOMMULIB_OBJS = iommulib.o diff --git a/usr/src/uts/intel/Makefile.intel.shared b/usr/src/uts/intel/Makefile.intel.shared index 5206642277..a0061e02e6 100644 --- a/usr/src/uts/intel/Makefile.intel.shared +++ b/usr/src/uts/intel/Makefile.intel.shared @@ -400,7 +400,6 @@ DRV_KMODS += rge DRV_KMODS += rtls DRV_KMODS += sfe DRV_KMODS += amd8111s -DRV_KMODS += amd_iommu DRV_KMODS += igb DRV_KMODS += ixgbe DRV_KMODS += vr diff --git a/usr/src/uts/intel/Makefile.rules b/usr/src/uts/intel/Makefile.rules index 960abe810f..e2fc0368a7 100644 --- a/usr/src/uts/intel/Makefile.rules +++ b/usr/src/uts/intel/Makefile.rules @@ -153,10 +153,6 @@ $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/amd8111s/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) -$(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/amd_iommu/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - $(OBJS_DIR)/%.o: $(UTSBASE)/intel/io/amr/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) @@ -394,9 +390,6 @@ $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/agpmaster/%.c $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/amd8111s/%.c @($(LHEAD) $(LINT.c) $< $(LTAIL)) -$(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/amd_iommu/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/io/amr/%.c @($(LHEAD) $(LINT.c) $< $(LTAIL)) diff --git a/usr/src/uts/intel/sys/Makefile b/usr/src/uts/intel/sys/Makefile index 3a1fa9843d..d05dead3f6 100644 --- a/usr/src/uts/intel/sys/Makefile +++ b/usr/src/uts/intel/sys/Makefile @@ -31,7 +31,6 @@ include ../../../Makefile.master # from being built, so these headers are not exported (installed). HDRS = \ - amd_iommu.h \ archsystm.h \ asm_linkage.h \ bootconf.h \ |
