svn commit: r233754 - in projects/pseries: amd64/acpica amd64/amd64
amd64/include arm/include boot/common boot/forth
boot/powerpc/ps3 cam/scsi cddl/dev/sdt conf
contrib/dev/acpica/components/namesp...
Andreas Tobler
andreast at FreeBSD.org
Sun Apr 1 08:14:52 UTC 2012
Author: andreast
Date: Sun Apr 1 08:14:50 2012
New Revision: 233754
URL: http://svn.freebsd.org/changeset/base/233754
Log:
IFC @ r233751
Added:
projects/pseries/dev/hwpmc/hwpmc_soft.c
- copied unchanged from r233751, head/sys/dev/hwpmc/hwpmc_soft.c
projects/pseries/dev/hwpmc/hwpmc_soft.h
- copied unchanged from r233751, head/sys/dev/hwpmc/hwpmc_soft.h
projects/pseries/dev/mfi/mfi_syspd.c
- copied unchanged from r233751, head/sys/dev/mfi/mfi_syspd.c
projects/pseries/dev/mfi/mfi_tbolt.c
- copied unchanged from r233751, head/sys/dev/mfi/mfi_tbolt.c
projects/pseries/mips/nlm/dev/cfi_pci_xlp.c
- copied unchanged from r233751, head/sys/mips/nlm/dev/cfi_pci_xlp.c
projects/pseries/mips/nlm/dev/uart_pci_xlp.c
- copied unchanged from r233751, head/sys/mips/nlm/dev/uart_pci_xlp.c
projects/pseries/x86/include/legacyvar.h
- copied unchanged from r233751, head/sys/x86/include/legacyvar.h
projects/pseries/x86/x86/legacy.c
- copied unchanged from r233751, head/sys/x86/x86/legacy.c
Deleted:
projects/pseries/amd64/amd64/legacy.c
projects/pseries/amd64/include/legacyvar.h
projects/pseries/i386/i386/legacy.c
projects/pseries/i386/include/legacyvar.h
projects/pseries/mips/nlm/intern_dev.c
projects/pseries/mips/nlm/uart_pci_xlp.c
projects/pseries/pc98/include/legacyvar.h
Modified:
projects/pseries/amd64/acpica/acpi_wakeup.c
projects/pseries/amd64/amd64/initcpu.c
projects/pseries/amd64/amd64/mp_machdep.c
projects/pseries/amd64/amd64/trap.c
projects/pseries/amd64/include/pmc_mdep.h
projects/pseries/amd64/include/vm.h
projects/pseries/arm/include/pmc_mdep.h
projects/pseries/boot/common/loader.8
projects/pseries/boot/forth/loader.conf.5
projects/pseries/boot/powerpc/ps3/start.S
projects/pseries/cam/scsi/scsi_da.c
projects/pseries/cddl/dev/sdt/sdt.c
projects/pseries/conf/files
projects/pseries/conf/files.amd64
projects/pseries/conf/files.arm
projects/pseries/conf/files.i386
projects/pseries/conf/files.ia64
projects/pseries/conf/files.mips
projects/pseries/conf/files.pc98
projects/pseries/conf/files.powerpc
projects/pseries/conf/files.sparc64
projects/pseries/conf/kern.post.mk
projects/pseries/conf/kern.pre.mk
projects/pseries/conf/kmod.mk
projects/pseries/conf/options
projects/pseries/contrib/dev/acpica/components/namespace/nsrepair.c
projects/pseries/contrib/dev/acpica/components/parser/psargs.c
projects/pseries/dev/acpica/acpi.c
projects/pseries/dev/acpica/acpi_pcib_acpi.c
projects/pseries/dev/ale/if_ale.c
projects/pseries/dev/ale/if_alevar.h
projects/pseries/dev/ath/if_ath.c
projects/pseries/dev/ath/if_ath_tx.c
projects/pseries/dev/ath/if_athvar.h
projects/pseries/dev/atkbdc/atkbdc_isa.c
projects/pseries/dev/atkbdc/psm.c
projects/pseries/dev/cfi/cfi_core.c
projects/pseries/dev/cfi/cfi_dev.c
projects/pseries/dev/cfi/cfi_disk.c
projects/pseries/dev/cfi/cfi_var.h
projects/pseries/dev/e1000/if_em.c
projects/pseries/dev/e1000/if_igb.c
projects/pseries/dev/fxp/if_fxp.c
projects/pseries/dev/fxp/if_fxpreg.h
projects/pseries/dev/fxp/if_fxpvar.h
projects/pseries/dev/hwpmc/hwpmc_amd.c
projects/pseries/dev/hwpmc/hwpmc_core.c
projects/pseries/dev/hwpmc/hwpmc_intel.c
projects/pseries/dev/hwpmc/hwpmc_logging.c
projects/pseries/dev/hwpmc/hwpmc_mips.c
projects/pseries/dev/hwpmc/hwpmc_mod.c
projects/pseries/dev/hwpmc/hwpmc_piv.c
projects/pseries/dev/hwpmc/hwpmc_powerpc.c
projects/pseries/dev/hwpmc/hwpmc_ppro.c
projects/pseries/dev/hwpmc/hwpmc_tsc.c
projects/pseries/dev/hwpmc/hwpmc_x86.c
projects/pseries/dev/hwpmc/hwpmc_xscale.c
projects/pseries/dev/hwpmc/pmc_events.h
projects/pseries/dev/isci/isci.h
projects/pseries/dev/isci/isci_controller.c
projects/pseries/dev/isci/isci_domain.c
projects/pseries/dev/isci/isci_task_request.c
projects/pseries/dev/isci/scil/sati_read_capacity.c
projects/pseries/dev/iwn/if_iwn.c
projects/pseries/dev/mfi/mfi.c
projects/pseries/dev/mfi/mfi_cam.c
projects/pseries/dev/mfi/mfi_debug.c
projects/pseries/dev/mfi/mfi_disk.c
projects/pseries/dev/mfi/mfi_ioctl.h
projects/pseries/dev/mfi/mfi_linux.c
projects/pseries/dev/mfi/mfi_pci.c
projects/pseries/dev/mfi/mfireg.h
projects/pseries/dev/mfi/mfivar.h
projects/pseries/dev/pci/pci.c
projects/pseries/dev/sound/pci/hda/hdaa.c
projects/pseries/dev/sound/pci/hda/hdac.c
projects/pseries/dev/syscons/syscons.c
projects/pseries/geom/geom_vfs.c
projects/pseries/geom/part/g_part_ldm.c
projects/pseries/gnu/fs/reiserfs/reiserfs_vfsops.c
projects/pseries/i386/i386/trap.c
projects/pseries/i386/include/pmc_mdep.h
projects/pseries/i386/include/vm.h
projects/pseries/i386/xbox/xboxfb.c
projects/pseries/kern/kern_clock.c
projects/pseries/kern/kern_lock.c
projects/pseries/kern/kern_mutex.c
projects/pseries/kern/kern_pmc.c
projects/pseries/kern/kern_rwlock.c
projects/pseries/kern/kern_sdt.c
projects/pseries/kern/kern_sx.c
projects/pseries/kern/kern_umtx.c
projects/pseries/kern/subr_trap.c
projects/pseries/mips/atheros/std.ar71xx
projects/pseries/mips/cavium/cvmx_config.h
projects/pseries/mips/cavium/std.octeon1
projects/pseries/mips/conf/AR71XX_BASE
projects/pseries/mips/conf/AR91XX_BASE
projects/pseries/mips/conf/SWARM
projects/pseries/mips/conf/SWARM64
projects/pseries/mips/conf/SWARM64_SMP
projects/pseries/mips/conf/SWARM_SMP
projects/pseries/mips/conf/XLP
projects/pseries/mips/conf/XLP64
projects/pseries/mips/conf/XLPN32
projects/pseries/mips/conf/XLR
projects/pseries/mips/conf/XLR64
projects/pseries/mips/conf/XLRN32
projects/pseries/mips/conf/std.XLP
projects/pseries/mips/include/param.h
projects/pseries/mips/include/pmc_mdep.h
projects/pseries/mips/include/vm.h
projects/pseries/mips/mips/trap.c
projects/pseries/mips/nlm/board.h
projects/pseries/mips/nlm/dev/net/nae.c
projects/pseries/mips/nlm/dev/net/ucore/ucore.h
projects/pseries/mips/nlm/dev/net/ucore/ucore_app.c
projects/pseries/mips/nlm/files.xlp
projects/pseries/mips/nlm/hal/nlm_hal.c
projects/pseries/mips/nlm/hal/pcibus.h
projects/pseries/mips/nlm/hal/pic.h
projects/pseries/mips/nlm/intr_machdep.c
projects/pseries/mips/nlm/uart_cpu_xlp.c
projects/pseries/mips/nlm/xlp.h
projects/pseries/mips/nlm/xlp_machdep.c
projects/pseries/mips/nlm/xlp_pci.c
projects/pseries/modules/hwpmc/Makefile
projects/pseries/modules/mfi/Makefile
projects/pseries/netinet/ipfw/ip_fw_sockopt.c
projects/pseries/netinet/sctp.h
projects/pseries/netinet/sctp_constants.h
projects/pseries/netinet/sctp_header.h
projects/pseries/netinet/sctp_input.c
projects/pseries/netinet/sctp_output.c
projects/pseries/netinet/sctp_output.h
projects/pseries/netinet/sctp_pcb.h
projects/pseries/netinet/sctp_peeloff.c
projects/pseries/netinet/sctp_structs.h
projects/pseries/netinet/sctp_uio.h
projects/pseries/netinet/sctp_usrreq.c
projects/pseries/netinet/sctputil.c
projects/pseries/netinet/sctputil.h
projects/pseries/netinet/tcp_subr.c
projects/pseries/netinet/udp_usrreq.c
projects/pseries/netinet/udp_var.h
projects/pseries/ofed/include/linux/io.h
projects/pseries/ofed/include/linux/page.h
projects/pseries/powerpc/aim/mmu_oea64.c
projects/pseries/powerpc/aim/moea64_native.c
projects/pseries/powerpc/include/pmc_mdep.h
projects/pseries/powerpc/include/trap.h
projects/pseries/powerpc/include/trap_aim.h
projects/pseries/powerpc/include/trap_booke.h
projects/pseries/powerpc/include/vm.h
projects/pseries/sparc64/pci/fire.c
projects/pseries/sparc64/pci/firereg.h
projects/pseries/sparc64/sparc64/trap.c
projects/pseries/sys/conf.h
projects/pseries/sys/pmc.h
projects/pseries/sys/pmckern.h
projects/pseries/sys/pmclog.h
projects/pseries/sys/sdt.h
projects/pseries/ufs/ffs/ffs_inode.c
projects/pseries/ufs/ffs/ffs_vfsops.c
projects/pseries/ufs/ufs/ufs_quota.c
projects/pseries/vm/vnode_pager.c
projects/pseries/x86/acpica/madt.c
projects/pseries/x86/include/endian.h
projects/pseries/x86/include/segments.h
projects/pseries/x86/isa/isa_dma.c
projects/pseries/x86/pci/pci_bus.c
projects/pseries/x86/x86/mca.c
projects/pseries/x86/x86/mptable_pci.c
Directory Properties:
projects/pseries/ (props changed)
projects/pseries/boot/ (props changed)
projects/pseries/conf/ (props changed)
projects/pseries/contrib/dev/acpica/ (props changed)
projects/pseries/contrib/dev/acpica/components/namespace/ (props changed)
projects/pseries/contrib/dev/acpica/components/parser/ (props changed)
projects/pseries/contrib/dev/acpica/include/ (props changed)
Modified: projects/pseries/amd64/acpica/acpi_wakeup.c
==============================================================================
--- projects/pseries/amd64/acpica/acpi_wakeup.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/amd64/acpica/acpi_wakeup.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -284,6 +284,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
} else {
pmap_init_pat();
load_cr3(susppcbs[0]->pcb_cr3);
+ initializecpu();
PCPU_SET(switchtime, 0);
PCPU_SET(switchticks, ticks);
#ifdef SMP
Modified: projects/pseries/amd64/amd64/initcpu.c
==============================================================================
--- projects/pseries/amd64/amd64/initcpu.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/amd64/amd64/initcpu.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -79,6 +79,27 @@ SYSCTL_UINT(_hw, OID_AUTO, via_feature_r
SYSCTL_UINT(_hw, OID_AUTO, via_feature_xcrypt, CTLFLAG_RD,
&via_feature_xcrypt, 0, "VIA xcrypt feature available in CPU");
+static void
+init_amd(void)
+{
+
+ /*
+ * Work around Erratum 721 for Family 10h and 12h processors.
+ * These processors may incorrectly update the stack pointer
+ * after a long series of push and/or near-call instructions,
+ * or a long series of pop and/or near-return instructions.
+ *
+ * http://support.amd.com/us/Processor_TechDocs/41322_10h_Rev_Gd.pdf
+ * http://support.amd.com/us/Processor_TechDocs/44739_12h_Rev_Gd.pdf
+ */
+ switch (CPUID_TO_FAMILY(cpu_id)) {
+ case 0x10:
+ case 0x12:
+ wrmsr(0xc0011029, rdmsr(0xc0011029) | 1);
+ break;
+ }
+}
+
/*
* Initialize special VIA features
*/
@@ -135,8 +156,14 @@ initializecpu(void)
wrmsr(MSR_EFER, msr);
pg_nx = PG_NX;
}
- if (cpu_vendor_id == CPU_VENDOR_CENTAUR)
+ switch (cpu_vendor_id) {
+ case CPU_VENDOR_AMD:
+ init_amd();
+ break;
+ case CPU_VENDOR_CENTAUR:
init_via();
+ break;
+ }
}
void
Modified: projects/pseries/amd64/amd64/mp_machdep.c
==============================================================================
--- projects/pseries/amd64/amd64/mp_machdep.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/amd64/amd64/mp_machdep.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -1425,6 +1425,7 @@ cpususpend_handler(void)
} else {
pmap_init_pat();
load_cr3(susppcbs[cpu]->pcb_cr3);
+ initializecpu();
PCPU_SET(switchtime, 0);
PCPU_SET(switchticks, ticks);
}
Modified: projects/pseries/amd64/amd64/trap.c
==============================================================================
--- projects/pseries/amd64/amd64/trap.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/amd64/amd64/trap.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -71,6 +71,9 @@ __FBSDID("$FreeBSD$");
#include <sys/vmmeter.h>
#ifdef HWPMC_HOOKS
#include <sys/pmckern.h>
+PMC_SOFT_DEFINE( , , page_fault, all);
+PMC_SOFT_DEFINE( , , page_fault, read);
+PMC_SOFT_DEFINE( , , page_fault, write);
#endif
#include <vm/vm.h>
@@ -743,8 +746,20 @@ trap_pfault(frame, usermode)
*/
rv = vm_fault(map, va, ftype, VM_FAULT_NORMAL);
}
- if (rv == KERN_SUCCESS)
+ if (rv == KERN_SUCCESS) {
+#ifdef HWPMC_HOOKS
+ if (ftype == VM_PROT_READ || ftype == VM_PROT_WRITE) {
+ PMC_SOFT_CALL_TF( , , page_fault, all, frame);
+ if (ftype == VM_PROT_READ)
+ PMC_SOFT_CALL_TF( , , page_fault, read,
+ frame);
+ else
+ PMC_SOFT_CALL_TF( , , page_fault, write,
+ frame);
+ }
+#endif
return (0);
+ }
nogo:
if (!usermode) {
if (td->td_intr_nesting_level == 0 &&
Modified: projects/pseries/amd64/include/pmc_mdep.h
==============================================================================
--- projects/pseries/amd64/include/pmc_mdep.h Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/amd64/include/pmc_mdep.h Sun Apr 1 08:14:50 2012 (r233754)
@@ -50,13 +50,13 @@ struct pmc_mdep;
* measurement architecture have PMCs of the following classes: TSC,
* IAF, IAP, UCF and UCP.
*/
-#define PMC_MDEP_CLASS_INDEX_TSC 0
-#define PMC_MDEP_CLASS_INDEX_K8 1
-#define PMC_MDEP_CLASS_INDEX_P4 1
-#define PMC_MDEP_CLASS_INDEX_IAP 1
-#define PMC_MDEP_CLASS_INDEX_IAF 2
-#define PMC_MDEP_CLASS_INDEX_UCP 3
-#define PMC_MDEP_CLASS_INDEX_UCF 4
+#define PMC_MDEP_CLASS_INDEX_TSC 1
+#define PMC_MDEP_CLASS_INDEX_K8 2
+#define PMC_MDEP_CLASS_INDEX_P4 2
+#define PMC_MDEP_CLASS_INDEX_IAP 2
+#define PMC_MDEP_CLASS_INDEX_IAF 3
+#define PMC_MDEP_CLASS_INDEX_UCP 4
+#define PMC_MDEP_CLASS_INDEX_UCF 5
/*
* On the amd64 platform we support the following PMCs.
@@ -119,6 +119,15 @@ union pmc_md_pmc {
#define PMC_IN_USERSPACE(va) ((va) <= VM_MAXUSER_ADDRESS)
+/* Build a fake kernel trapframe from current instruction pointer. */
+#define PMC_FAKE_TRAPFRAME(TF) \
+ do { \
+ (TF)->tf_cs = 0; (TF)->tf_rflags = 0; \
+ __asm __volatile("movq %%rbp,%0" : "=r" ((TF)->tf_rbp)); \
+ __asm __volatile("movq %%rsp,%0" : "=r" ((TF)->tf_rsp)); \
+ __asm __volatile("call 1f \n\t1: pop %0" : "=r"((TF)->tf_rip)); \
+ } while (0)
+
/*
* Prototypes
*/
Modified: projects/pseries/amd64/include/vm.h
==============================================================================
--- projects/pseries/amd64/include/vm.h Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/amd64/include/vm.h Sun Apr 1 08:14:50 2012 (r233754)
@@ -38,7 +38,7 @@
#define VM_MEMATTR_WRITE_THROUGH ((vm_memattr_t)PAT_WRITE_THROUGH)
#define VM_MEMATTR_WRITE_PROTECTED ((vm_memattr_t)PAT_WRITE_PROTECTED)
#define VM_MEMATTR_WRITE_BACK ((vm_memattr_t)PAT_WRITE_BACK)
-#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PAT_UNCACHED)
+#define VM_MEMATTR_WEAK_UNCACHEABLE ((vm_memattr_t)PAT_UNCACHED)
#define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK
Modified: projects/pseries/arm/include/pmc_mdep.h
==============================================================================
--- projects/pseries/arm/include/pmc_mdep.h Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/arm/include/pmc_mdep.h Sun Apr 1 08:14:50 2012 (r233754)
@@ -29,7 +29,7 @@
#ifndef _MACHINE_PMC_MDEP_H_
#define _MACHINE_PMC_MDEP_H_
-#define PMC_MDEP_CLASS_INDEX_XSCALE 0
+#define PMC_MDEP_CLASS_INDEX_XSCALE 1
/*
* On the ARM platform we support the following PMCs.
*
Modified: projects/pseries/boot/common/loader.8
==============================================================================
--- projects/pseries/boot/common/loader.8 Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/boot/common/loader.8 Sun Apr 1 08:14:50 2012 (r233754)
@@ -223,7 +223,7 @@ Loads a
.Xr geli 8
encryption keyfile for the given provider name.
The key index can be specified via
-.Ar keyno
+.Ar keyno
or will default to zero.
.Pp
.It Ic ls Xo
Modified: projects/pseries/boot/forth/loader.conf.5
==============================================================================
--- projects/pseries/boot/forth/loader.conf.5 Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/boot/forth/loader.conf.5 Sun Apr 1 08:14:50 2012 (r233754)
@@ -266,7 +266,7 @@ The
stops reading
.Nm
when it encounters a syntax error, so any options which are vital for
-booting a particular system (i.e.\&
+booting a particular system (i.e.\&
.Dq Va hw.ata.ata_dma Ns "=0" )
should precede any experimental additions to
.Nm .
Modified: projects/pseries/boot/powerpc/ps3/start.S
==============================================================================
--- projects/pseries/boot/powerpc/ps3/start.S Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/boot/powerpc/ps3/start.S Sun Apr 1 08:14:50 2012 (r233754)
@@ -25,6 +25,8 @@
* $FreeBSD$
*/
+#define LOCORE
+
#include <machine/trap_aim.h>
/*
Modified: projects/pseries/cam/scsi/scsi_da.c
==============================================================================
--- projects/pseries/cam/scsi/scsi_da.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/cam/scsi/scsi_da.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -1631,9 +1631,7 @@ daregister(struct cam_periph *periph, vo
softc->minimum_cmd_size = 16;
/* Predict whether device may support READ CAPACITY(16). */
- if (SID_ANSI_REV(&cgd->inq_data) >= SCSI_REV_SPC3 ||
- (SID_ANSI_REV(&cgd->inq_data) >= SCSI_REV_SPC &&
- (cgd->inq_data.spc3_flags & SPC3_SID_PROTECT))) {
+ if (SID_ANSI_REV(&cgd->inq_data) >= SCSI_REV_SPC3) {
softc->flags |= DA_FLAG_CAN_RC16;
softc->state = DA_STATE_PROBE2;
}
Modified: projects/pseries/cddl/dev/sdt/sdt.c
==============================================================================
--- projects/pseries/cddl/dev/sdt/sdt.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/cddl/dev/sdt/sdt.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -52,6 +52,8 @@ static void sdt_destroy(void *, dtrace_i
static void sdt_enable(void *, dtrace_id_t, void *);
static void sdt_disable(void *, dtrace_id_t, void *);
static void sdt_load(void *);
+static int sdt_provider_unreg_callback(struct sdt_provider *prov,
+ void *arg);
static struct cdevsw sdt_cdevsw = {
.d_version = D_VERSION,
@@ -190,7 +192,8 @@ sdt_load(void *dummy)
sdt_probe_func = dtrace_probe;
- (void) sdt_provider_listall(sdt_provider_reg_callback, NULL);
+ sdt_register_callbacks(sdt_provider_reg_callback, NULL,
+ sdt_provider_unreg_callback, NULL, sdt_probe_callback, NULL);
}
static int
@@ -206,7 +209,7 @@ sdt_unload()
sdt_probe_func = sdt_probe_stub;
- (void) sdt_provider_listall(sdt_provider_unreg_callback, NULL);
+ sdt_deregister_callbacks();
destroy_dev(sdt_cdev);
Modified: projects/pseries/conf/files
==============================================================================
--- projects/pseries/conf/files Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files Sun Apr 1 08:14:50 2012 (r233754)
@@ -139,6 +139,131 @@ cam/scsi/scsi_sg.c optional sg
cam/scsi/scsi_targ_bh.c optional targbh
cam/scsi/scsi_target.c optional targ
cam/scsi/smp_all.c optional scbus
+# shared between zfs and dtrace
+cddl/compat/opensolaris/kern/opensolaris.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_cmn_err.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_kmem.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_misc.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_sunddi.c optional zfs compile-with "${ZFS_C}"
+# zfs specific
+cddl/compat/opensolaris/kern/opensolaris_acl.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_kobj.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_kstat.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_lookup.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_policy.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_string.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_sysevent.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_taskq.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_uio.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_vfs.c optional zfs compile-with "${ZFS_C}"
+cddl/compat/opensolaris/kern/opensolaris_zone.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/acl/acl_common.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/avl/avl.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/nvpair/nvpair.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/unicode/u8_textprep.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zfs_comutil.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zfs_deleg.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zfs_fletcher.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zfs_prop.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zpool_prop.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/zfs/zprop_common.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/gfs.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/vnode.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/bplist.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/ddt_zap.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c optional zfs compile-with "${ZFS_C}" \
+ warning "kernel contains CDDL licensed ZFS filesystem"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/gzip.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/unique.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_debug.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_onexit.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_sa.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zle.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zrlock.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/os/callb.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/os/fm.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/os/list.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/adler32.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/deflate.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/inffast.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/inflate.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/inftrees.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/trees.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/zmod.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/zmod/zutil.c optional zfs compile-with "${ZFS_C}"
contrib/altq/altq/altq_cbq.c optional altq \
compile-with "${NORMAL_C} -I$S/contrib/pf"
contrib/altq/altq/altq_cdnr.c optional altq
@@ -415,7 +540,7 @@ crypto/rijndael/rijndael-api.c optional
crypto/sha1.c optional carp | crypto | ipsec | \
netgraph_mppc_encryption | sctp
crypto/sha2/sha2.c optional crypto | geom_bde | ipsec | random | \
- sctp
+ sctp | zfs
ddb/db_access.c optional ddb
ddb/db_break.c optional ddb
ddb/db_capture.c optional ddb
@@ -1135,6 +1260,7 @@ dev/hme/if_hme_sbus.c optional hme sbus
dev/hptiop/hptiop.c optional hptiop scbus
dev/hwpmc/hwpmc_logging.c optional hwpmc
dev/hwpmc/hwpmc_mod.c optional hwpmc
+dev/hwpmc/hwpmc_soft.c optional hwpmc
dev/ichsmb/ichsmb.c optional ichsmb
dev/ichsmb/ichsmb_pci.c optional ichsmb pci
dev/ida/ida.c optional ida
@@ -1432,6 +1558,8 @@ dev/mfi/mfi.c optional mfi
dev/mfi/mfi_debug.c optional mfi
dev/mfi/mfi_pci.c optional mfi pci
dev/mfi/mfi_disk.c optional mfi
+dev/mfi/mfi_syspd.c optional mfi
+dev/mfi/mfi_tbolt.c optional mfi
dev/mfi/mfi_linux.c optional mfi compat_linux
dev/mfi/mfi_cam.c optional mfip scbus
dev/mii/acphy.c optional miibus | acphy
Modified: projects/pseries/conf/files.amd64
==============================================================================
--- projects/pseries/conf/files.amd64 Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.amd64 Sun Apr 1 08:14:50 2012 (r233754)
@@ -113,7 +113,6 @@ amd64/amd64/identcpu.c standard
amd64/amd64/in_cksum.c optional inet | inet6
amd64/amd64/initcpu.c standard
amd64/amd64/io.c optional io
-amd64/amd64/legacy.c standard
amd64/amd64/locore.S standard no-obj
amd64/amd64/machdep.c standard
amd64/amd64/mem.c optional mem
@@ -133,6 +132,7 @@ amd64/amd64/uio_machdep.c standard
amd64/amd64/uma_machdep.c standard
amd64/amd64/vm_machdep.c standard
amd64/pci/pci_cfgreg.c optional pci
+cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
crypto/aesni/aesencdec_amd64.S optional aesni
crypto/aesni/aeskeys_amd64.S optional aesni
crypto/aesni/aesni.c optional aesni
@@ -476,6 +476,7 @@ x86/x86/busdma_machdep.c standard
x86/x86/dump_machdep.c standard
x86/x86/intr_machdep.c standard
x86/x86/io_apic.c standard
+x86/x86/legacy.c standard
x86/x86/local_apic.c standard
x86/x86/mca.c standard
x86/x86/mptable.c optional mptable
Modified: projects/pseries/conf/files.arm
==============================================================================
--- projects/pseries/conf/files.arm Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.arm Sun Apr 1 08:14:50 2012 (r233754)
@@ -47,6 +47,7 @@ arm/arm/vm_machdep.c standard
arm/fpe-arm/armfpe_glue.S optional armfpe
arm/fpe-arm/armfpe_init.c optional armfpe
arm/fpe-arm/armfpe.S optional armfpe
+cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs compile-with "${ZFS_C}"
dev/hwpmc/hwpmc_arm.c optional hwpmc
dev/ofw/openfirm.c optional fdt
dev/ofw/openfirmio.c optional fdt
Modified: projects/pseries/conf/files.i386
==============================================================================
--- projects/pseries/conf/files.i386 Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.i386 Sun Apr 1 08:14:50 2012 (r233754)
@@ -71,6 +71,7 @@ hptrr_lib.o optional hptrr \
compile-with "uudecode < $S/dev/hptrr/i386-elf.hptrr_lib.o.uu" \
no-implicit-rule
#
+cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
compat/linprocfs/linprocfs.c optional linprocfs
compat/linsysfs/linsysfs.c optional linsysfs
compat/linux/linux_emul.c optional compat_linux
@@ -407,7 +408,6 @@ i386/i386/in_cksum.c optional inet | in
i386/i386/initcpu.c standard
i386/i386/io.c optional io
i386/i386/k6_mem.c optional mem
-i386/i386/legacy.c optional native
i386/i386/locore.s optional native no-obj
i386/xen/locore.s optional xen no-obj
i386/i386/longrun.c optional cpu_enable_longrun
@@ -528,6 +528,7 @@ x86/x86/busdma_machdep.c standard
x86/x86/dump_machdep.c standard
x86/x86/intr_machdep.c standard
x86/x86/io_apic.c optional apic
+x86/x86/legacy.c optional native
x86/x86/local_apic.c optional apic
x86/x86/mca.c standard
x86/x86/mptable.c optional apic native
Modified: projects/pseries/conf/files.ia64
==============================================================================
--- projects/pseries/conf/files.ia64 Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.ia64 Sun Apr 1 08:14:50 2012 (r233754)
@@ -28,6 +28,7 @@ ukbdmap.h optional ukbd_dflt_keymap \
no-obj no-implicit-rule before-depend \
clean "ukbdmap.h"
#
+cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
compat/freebsd32/freebsd32_ioctl.c optional compat_freebsd32
compat/freebsd32/freebsd32_misc.c optional compat_freebsd32
compat/freebsd32/freebsd32_syscalls.c optional compat_freebsd32
Modified: projects/pseries/conf/files.mips
==============================================================================
--- projects/pseries/conf/files.mips Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.mips Sun Apr 1 08:14:50 2012 (r233754)
@@ -85,6 +85,7 @@ libkern/ucmpdi2.c standard
#libkern/mips/strcmp.S standard
#libkern/mips/strncmp.S standard
+cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs compile-with "${ZFS_C}"
compat/freebsd32/freebsd32_ioctl.c optional compat_freebsd32
compat/freebsd32/freebsd32_misc.c optional compat_freebsd32
compat/freebsd32/freebsd32_syscalls.c optional compat_freebsd32
Modified: projects/pseries/conf/files.pc98
==============================================================================
--- projects/pseries/conf/files.pc98 Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.pc98 Sun Apr 1 08:14:50 2012 (r233754)
@@ -38,6 +38,7 @@ ukbdmap.h optional ukbd_dflt_keymap \
no-obj no-implicit-rule before-depend \
clean "ukbdmap.h"
#
+cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
compat/linprocfs/linprocfs.c optional linprocfs
compat/linsysfs/linsysfs.c optional linsysfs
compat/linux/linux_emul.c optional compat_linux
@@ -146,7 +147,6 @@ i386/i386/in_cksum.c optional inet | in
i386/i386/initcpu.c standard
i386/i386/io.c optional io
i386/i386/k6_mem.c optional mem
-i386/i386/legacy.c standard
i386/i386/locore.s standard no-obj
i386/i386/mem.c optional mem
i386/i386/minidump_machdep.c standard
@@ -204,7 +204,6 @@ i386/svr4/svr4_locore.s optional compat
dependency "svr4_assym.h" \
warning "COMPAT_SVR4 is broken and should be avoided"
i386/svr4/svr4_machdep.c optional compat_svr4
-#
kern/kern_clocksource.c standard
kern/imgact_aout.c optional compat_aout
kern/imgact_gzip.c optional gzip
@@ -252,6 +251,7 @@ x86/x86/busdma_machdep.c standard
x86/x86/dump_machdep.c standard
x86/x86/intr_machdep.c standard
x86/x86/io_apic.c optional apic
+x86/x86/legacy.c standard
x86/x86/local_apic.c optional apic
x86/x86/mca.c standard
x86/x86/mptable.c optional apic
Modified: projects/pseries/conf/files.powerpc
==============================================================================
--- projects/pseries/conf/files.powerpc Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.powerpc Sun Apr 1 08:14:50 2012 (r233754)
@@ -14,6 +14,9 @@ font.h optional sc \
no-obj no-implicit-rule before-depend \
clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
#
+# There is only an asm version on ppc64.
+cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs powerpc compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/common/atomic/powerpc64/opensolaris_atomic.S optional zfs powerpc64 compile-with "${ZFS_S}"
crypto/blowfish/bf_enc.c optional crypto | ipsec
crypto/des/des_enc.c optional crypto | ipsec | netsmb
dev/bm/if_bm.c optional bm powermac
Modified: projects/pseries/conf/files.sparc64
==============================================================================
--- projects/pseries/conf/files.sparc64 Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/files.sparc64 Sun Apr 1 08:14:50 2012 (r233754)
@@ -22,6 +22,7 @@ ukbdmap.h optional ukbd_dflt_keymap \
no-obj no-implicit-rule before-depend \
clean "ukbdmap.h"
#
+cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
crypto/blowfish/bf_enc.c optional crypto | ipsec
crypto/des/des_enc.c optional crypto | ipsec | netsmb
dev/atkbdc/atkbd.c optional atkbd atkbdc
Modified: projects/pseries/conf/kern.post.mk
==============================================================================
--- projects/pseries/conf/kern.post.mk Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/kern.post.mk Sun Apr 1 08:14:50 2012 (r233754)
@@ -152,6 +152,12 @@ genassym.o: $S/$M/$M/genassym.c
${SYSTEM_OBJS} genassym.o vers.o: opt_global.h
+# We have "special" -I include paths for opensolaris/zfs files in 'depend'.
+CFILES_NOZFS= ${CFILES:N*/opensolaris/*}
+SFILES_NOZFS= ${SFILES:N*/opensolaris/*}
+CFILES_ZFS= ${CFILES:M*/opensolaris/*}
+SFILES_ZFS= ${SFILES:M*/opensolaris/*}
+
kernel-depend: .depend
# The argument list can be very long, so use make -V and xargs to
# pass it to mkdep.
@@ -160,10 +166,14 @@ SRCS= assym.s vnode_if.h ${BEFORE_DEPEND
${MFILES:T:S/.m$/.h/}
.depend: .PRECIOUS ${SRCS}
rm -f .newdep
- ${MAKE} -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | \
+ ${MAKE} -V CFILES_NOZFS -V SYSTEM_CFILES -V GEN_CFILES | \
MKDEP_CPP="${CC} -E" CC="${CC}" xargs mkdep -a -f .newdep ${CFLAGS}
- ${MAKE} -V SFILES | \
+ ${MAKE} -V CFILES_ZFS | \
+ MKDEP_CPP="${CC} -E" CC="${CC}" xargs mkdep -a -f .newdep ${ZFS_CFLAGS}
+ ${MAKE} -V SFILES_NOZFS | \
MKDEP_CPP="${CC} -E" xargs mkdep -a -f .newdep ${ASM_CFLAGS}
+ ${MAKE} -V SFILES_ZFS | \
+ MKDEP_CPP="${CC} -E" xargs mkdep -a -f .newdep ${ZFS_ASM_CFLAGS}
rm -f .depend
mv .newdep .depend
Modified: projects/pseries/conf/kern.pre.mk
==============================================================================
--- projects/pseries/conf/kern.pre.mk Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/kern.pre.mk Sun Apr 1 08:14:50 2012 (r233754)
@@ -6,7 +6,7 @@
.include <bsd.own.mk>
# backwards compat option for older systems.
-MACHINE_CPUARCH?=${MACHINE_ARCH:C/mipse[lb]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+MACHINE_CPUARCH?=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
# Can be overridden by makeoptions or /etc/make.conf
KERNEL_KO?= kernel
@@ -131,6 +131,12 @@ NORMAL_C_NOWERROR= ${CC} -c ${CFLAGS} ${
NORMAL_M= ${AWK} -f $S/tools/makeobjops.awk ${.IMPSRC} -c ; \
${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.PREFIX}.c
+# Special flags for managing the compat compiles for ZFS
+ZFS_CFLAGS= -DFREEBSD_NAMECACHE -DBUILDING_ZFS -nostdinc -I$S/cddl/compat/opensolaris -I$S/cddl/contrib/opensolaris/uts/common/fs/zfs -I$S/cddl/contrib/opensolaris/uts/common/zmod -I$S/cddl/contrib/opensolaris/uts/common -I$S -I$S/cddl/contrib/opensolaris/common/zfs -I$S/cddl/contrib/opensolaris/common ${CFLAGS} -Wno-unknown-pragmas -Wno-missing-prototypes -Wno-undef -Wno-strict-prototypes -Wno-cast-qual -Wno-parentheses -Wno-redundant-decls -Wno-missing-braces -Wno-uninitialized -Wno-unused -Wno-inline -Wno-switch -Wno-pointer-arith -Wno-unknown-pragmas
+ZFS_ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${ZFS_CFLAGS}
+ZFS_C= ${CC} -c ${ZFS_CFLAGS} ${WERROR} ${PROF} ${.IMPSRC}
+ZFS_S= ${CC} -c ${ZFS_ASM_CFLAGS} ${WERROR} ${.IMPSRC}
+
.if ${MK_CTF} != "no"
NORMAL_CTFCONVERT= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.elif ${MAKE_VERSION} >= 5201111300
Modified: projects/pseries/conf/kmod.mk
==============================================================================
--- projects/pseries/conf/kmod.mk Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/kmod.mk Sun Apr 1 08:14:50 2012 (r233754)
@@ -61,7 +61,7 @@
#
# backwards compat option for older systems.
-MACHINE_CPUARCH?=${MACHINE_ARCH:C/mipse[lb]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+MACHINE_CPUARCH?=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
AWK?= awk
KMODLOAD?= /sbin/kldload
Modified: projects/pseries/conf/options
==============================================================================
--- projects/pseries/conf/options Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/conf/options Sun Apr 1 08:14:50 2012 (r233754)
@@ -837,6 +837,8 @@ XBOX opt_xbox.h
# XFS
XFS
+ZFS opt_dontuse.h
+
# Interrupt filtering
INTR_FILTER
Modified: projects/pseries/contrib/dev/acpica/components/namespace/nsrepair.c
==============================================================================
--- projects/pseries/contrib/dev/acpica/components/namespace/nsrepair.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/contrib/dev/acpica/components/namespace/nsrepair.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -209,6 +209,9 @@ ObjectRepaired:
*/
if (!(Data->Flags & ACPI_OBJECT_WRAPPED))
{
+ NewObject->Common.ReferenceCount =
+ ReturnObject->Common.ReferenceCount;
+
if (ReturnObject->Common.ReferenceCount > 1)
{
ReturnObject->Common.ReferenceCount--;
Modified: projects/pseries/contrib/dev/acpica/components/parser/psargs.c
==============================================================================
--- projects/pseries/contrib/dev/acpica/components/parser/psargs.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/contrib/dev/acpica/components/parser/psargs.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -672,6 +672,7 @@ AcpiPsGetNextField (
Arg = AcpiPsAllocOp (AML_INT_BYTELIST_OP);
if (!Arg)
{
+ AcpiPsFreeOp (Field);
return_PTR (NULL);
}
@@ -717,6 +718,7 @@ AcpiPsGetNextField (
Arg = AcpiPsAllocOp (AML_INT_NAMEPATH_OP);
if (!Arg)
{
+ AcpiPsFreeOp (Field);
return_PTR (NULL);
}
Modified: projects/pseries/dev/acpica/acpi.c
==============================================================================
--- projects/pseries/dev/acpica/acpi.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/dev/acpica/acpi.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -1968,6 +1968,7 @@ static void
acpi_shutdown_final(void *arg, int howto)
{
struct acpi_softc *sc = (struct acpi_softc *)arg;
+ register_t intr;
ACPI_STATUS status;
/*
@@ -1983,13 +1984,15 @@ acpi_shutdown_final(void *arg, int howto
return;
}
device_printf(sc->acpi_dev, "Powering system off\n");
- ACPI_DISABLE_IRQS();
+ intr = intr_disable();
status = AcpiEnterSleepState(ACPI_STATE_S5, acpi_sleep_flags);
- if (ACPI_FAILURE(status))
+ if (ACPI_FAILURE(status)) {
+ intr_restore(intr);
device_printf(sc->acpi_dev, "power-off failed - %s\n",
AcpiFormatException(status));
- else {
+ } else {
DELAY(1000000);
+ intr_restore(intr);
device_printf(sc->acpi_dev, "power-off failed - timeout\n");
}
} else if ((howto & RB_HALT) == 0 && sc->acpi_handle_reboot) {
@@ -2641,7 +2644,8 @@ enum acpi_sleep_state {
static ACPI_STATUS
acpi_EnterSleepState(struct acpi_softc *sc, int state)
{
- ACPI_STATUS status;
+ register_t intr;
+ ACPI_STATUS status;
enum acpi_sleep_state slp_state;
ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state);
@@ -2730,8 +2734,9 @@ acpi_EnterSleepState(struct acpi_softc *
if (state == ACPI_STATE_S4)
AcpiEnable();
} else {
- ACPI_DISABLE_IRQS();
+ intr = intr_disable();
status = AcpiEnterSleepState(state, acpi_sleep_flags);
+ intr_restore(intr);
if (ACPI_FAILURE(status)) {
device_printf(sc->acpi_dev, "AcpiEnterSleepState failed - %s\n",
AcpiFormatException(status));
Modified: projects/pseries/dev/acpica/acpi_pcib_acpi.c
==============================================================================
--- projects/pseries/dev/acpica/acpi_pcib_acpi.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/dev/acpica/acpi_pcib_acpi.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -59,8 +59,9 @@ struct acpi_hpcib_softc {
ACPI_HANDLE ap_handle;
int ap_flags;
- int ap_segment; /* analagous to Alpha 'hose' */
+ int ap_segment; /* PCI domain */
int ap_bus; /* bios-assigned bus number */
+ int ap_addr; /* device/func of PCI-Host bridge */
ACPI_BUFFER ap_prt; /* interrupt routing table */
#ifdef NEW_PCIB
@@ -276,7 +277,7 @@ acpi_pcib_acpi_attach(device_t dev)
struct acpi_hpcib_softc *sc;
ACPI_STATUS status;
static int bus0_seen = 0;
- u_int addr, slot, func, busok;
+ u_int slot, func, busok;
uint8_t busno;
ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
@@ -286,7 +287,7 @@ acpi_pcib_acpi_attach(device_t dev)
sc->ap_handle = acpi_get_handle(dev);
/*
- * Get our segment number by evaluating _SEG
+ * Get our segment number by evaluating _SEG.
* It's OK for this to not exist.
*/
status = acpi_GetInteger(sc->ap_handle, "_SEG", &sc->ap_segment);
@@ -300,6 +301,18 @@ acpi_pcib_acpi_attach(device_t dev)
sc->ap_segment = 0;
}
+ /*
+ * Get the address (device and function) of the associated
+ * PCI-Host bridge device from _ADR. Assume we don't have one if
+ * it doesn't exist.
+ */
+ status = acpi_GetInteger(sc->ap_handle, "_ADR", &sc->ap_addr);
+ if (ACPI_FAILURE(status)) {
+ device_printf(dev, "could not evaluate _ADR - %s\n",
+ AcpiFormatException(status));
+ sc->ap_addr = -1;
+ }
+
#ifdef NEW_PCIB
/*
* Determine which address ranges this bridge decodes and setup
@@ -354,18 +367,10 @@ acpi_pcib_acpi_attach(device_t dev)
busok = 1;
if (sc->ap_segment == 0 && sc->ap_bus == 0 && bus0_seen) {
busok = 0;
- status = acpi_GetInteger(sc->ap_handle, "_ADR", &addr);
- if (ACPI_FAILURE(status)) {
- if (status != AE_NOT_FOUND) {
- device_printf(dev, "could not evaluate _ADR - %s\n",
- AcpiFormatException(status));
- return_VALUE (ENXIO);
- } else
- device_printf(dev, "couldn't find _ADR\n");
- } else {
+ if (sc->ap_addr != -1) {
/* XXX: We assume bus 0. */
- slot = ACPI_ADR_PCI_SLOT(addr);
- func = ACPI_ADR_PCI_FUNC(addr);
+ slot = ACPI_ADR_PCI_SLOT(sc->ap_addr);
+ func = ACPI_ADR_PCI_FUNC(sc->ap_addr);
if (bootverbose)
device_printf(dev, "reading config registers from 0:%d:%d\n",
slot, func);
@@ -488,10 +493,24 @@ static int
acpi_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr,
uint32_t *data)
{
- device_t bus;
+ struct acpi_hpcib_softc *sc;
+ device_t bus, hostb;
+ int error;
bus = device_get_parent(pcib);
- return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data));
+ error = PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data);
+ if (error)
+ return (error);
+
+ sc = device_get_softc(dev);
+ if (sc->ap_addr == -1)
+ return (0);
+ /* XXX: Assumes all bridges are on bus 0. */
+ hostb = pci_find_dbsf(sc->ap_segment, 0, ACPI_ADR_PCI_SLOT(sc->ap_addr),
+ ACPI_ADR_PCI_FUNC(sc->ap_addr));
+ if (hostb != NULL)
+ pci_ht_map_msi(hostb, *addr);
+ return (0);
}
struct resource *
Modified: projects/pseries/dev/ale/if_ale.c
==============================================================================
--- projects/pseries/dev/ale/if_ale.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/dev/ale/if_ale.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -115,7 +115,6 @@ static void ale_init_tx_ring(struct ale_
static void ale_int_task(void *, int);
static int ale_intr(void *);
static int ale_ioctl(struct ifnet *, u_long, caddr_t);
-static void ale_link_task(void *, int);
static void ale_mac_config(struct ale_softc *);
static int ale_miibus_readreg(device_t, int, int);
static void ale_miibus_statchg(device_t);
@@ -253,10 +252,45 @@ static void
ale_miibus_statchg(device_t dev)
{
struct ale_softc *sc;
+ struct mii_data *mii;
+ struct ifnet *ifp;
+ uint32_t reg;
sc = device_get_softc(dev);
+ mii = device_get_softc(sc->ale_miibus);
+ ifp = sc->ale_ifp;
+ if (mii == NULL || ifp == NULL ||
+ (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
+ return;
+
+ sc->ale_flags &= ~ALE_FLAG_LINK;
+ if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) ==
+ (IFM_ACTIVE | IFM_AVALID)) {
+ switch (IFM_SUBTYPE(mii->mii_media_active)) {
+ case IFM_10_T:
+ case IFM_100_TX:
+ sc->ale_flags |= ALE_FLAG_LINK;
+ break;
+ case IFM_1000_T:
+ if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0)
+ sc->ale_flags |= ALE_FLAG_LINK;
+ break;
+ default:
+ break;
+ }
+ }
- taskqueue_enqueue(taskqueue_swi, &sc->ale_link_task);
+ /* Stop Rx/Tx MACs. */
+ ale_stop_mac(sc);
+
+ /* Program MACs with resolved speed/duplex/flow-control. */
+ if ((sc->ale_flags & ALE_FLAG_LINK) != 0) {
+ ale_mac_config(sc);
+ /* Reenable Tx/Rx MACs. */
+ reg = CSR_READ_4(sc, ALE_MAC_CFG);
+ reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB;
+ CSR_WRITE_4(sc, ALE_MAC_CFG, reg);
+ }
}
static void
@@ -267,6 +301,10 @@ ale_mediastatus(struct ifnet *ifp, struc
sc = ifp->if_softc;
ALE_LOCK(sc);
+ if ((ifp->if_flags & IFF_UP) == 0) {
+ ALE_UNLOCK(sc);
+ return;
+ }
mii = device_get_softc(sc->ale_miibus);
mii_pollstat(mii);
@@ -425,7 +463,6 @@ ale_attach(device_t dev)
MTX_DEF);
callout_init_mtx(&sc->ale_tick_ch, &sc->ale_mtx, 0);
TASK_INIT(&sc->ale_int_task, 0, ale_int_task, sc);
- TASK_INIT(&sc->ale_link_task, 0, ale_link_task, sc);
/* Map the device. */
pci_enable_busmaster(dev);
@@ -679,7 +716,6 @@ ale_detach(device_t dev)
ALE_UNLOCK(sc);
callout_drain(&sc->ale_tick_ch);
taskqueue_drain(sc->ale_tq, &sc->ale_int_task);
- taskqueue_drain(taskqueue_swi, &sc->ale_link_task);
}
if (sc->ale_tq != NULL) {
@@ -2076,57 +2112,6 @@ ale_mac_config(struct ale_softc *sc)
}
static void
-ale_link_task(void *arg, int pending)
-{
- struct ale_softc *sc;
- struct mii_data *mii;
- struct ifnet *ifp;
- uint32_t reg;
-
- sc = (struct ale_softc *)arg;
-
- ALE_LOCK(sc);
- mii = device_get_softc(sc->ale_miibus);
- ifp = sc->ale_ifp;
- if (mii == NULL || ifp == NULL ||
- (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) {
- ALE_UNLOCK(sc);
- return;
- }
-
- sc->ale_flags &= ~ALE_FLAG_LINK;
- if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) ==
- (IFM_ACTIVE | IFM_AVALID)) {
- switch (IFM_SUBTYPE(mii->mii_media_active)) {
- case IFM_10_T:
- case IFM_100_TX:
- sc->ale_flags |= ALE_FLAG_LINK;
- break;
- case IFM_1000_T:
- if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0)
- sc->ale_flags |= ALE_FLAG_LINK;
- break;
- default:
- break;
- }
- }
-
- /* Stop Rx/Tx MACs. */
- ale_stop_mac(sc);
-
- /* Program MACs with resolved speed/duplex/flow-control. */
- if ((sc->ale_flags & ALE_FLAG_LINK) != 0) {
- ale_mac_config(sc);
- /* Reenable Tx/Rx MACs. */
- reg = CSR_READ_4(sc, ALE_MAC_CFG);
- reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB;
- CSR_WRITE_4(sc, ALE_MAC_CFG, reg);
- }
-
- ALE_UNLOCK(sc);
-}
-
-static void
ale_stats_clear(struct ale_softc *sc)
{
struct smb sb;
@@ -2876,14 +2861,14 @@ ale_init_locked(struct ale_softc *sc)
CSR_WRITE_4(sc, ALE_INTR_STATUS, 0xFFFFFFFF);
CSR_WRITE_4(sc, ALE_INTR_STATUS, 0);
+ ifp->if_drv_flags |= IFF_DRV_RUNNING;
+ ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
+
sc->ale_flags &= ~ALE_FLAG_LINK;
/* Switch to the current media. */
mii_mediachg(mii);
callout_reset(&sc->ale_tick_ch, hz, ale_tick, sc);
-
- ifp->if_drv_flags |= IFF_DRV_RUNNING;
- ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
}
static void
Modified: projects/pseries/dev/ale/if_alevar.h
==============================================================================
--- projects/pseries/dev/ale/if_alevar.h Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/dev/ale/if_alevar.h Sun Apr 1 08:14:50 2012 (r233754)
@@ -221,7 +221,6 @@ struct ale_softc {
int ale_pagesize;
struct task ale_int_task;
- struct task ale_link_task;
struct taskqueue *ale_tq;
struct mtx ale_mtx;
};
Modified: projects/pseries/dev/ath/if_ath.c
==============================================================================
--- projects/pseries/dev/ath/if_ath.c Sun Apr 1 06:31:57 2012 (r233753)
+++ projects/pseries/dev/ath/if_ath.c Sun Apr 1 08:14:50 2012 (r233754)
@@ -191,6 +191,7 @@ static void ath_tx_cleanup(struct ath_so
static void ath_tx_proc_q0(void *, int);
static void ath_tx_proc_q0123(void *, int);
static void ath_tx_proc(void *, int);
+static void ath_txq_sched_tasklet(void *, int);
static int ath_chan_set(struct ath_softc *, struct ieee80211_channel *);
static void ath_draintxq(struct ath_softc *, ATH_RESET_TYPE reset_type);
static void ath_stoprecv(struct ath_softc *, int);
@@ -398,6 +399,7 @@ ath_attach(u_int16_t devid, struct ath_s
TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc);
TASK_INIT(&sc->sc_bstucktask,0, ath_bstuck_proc, sc);
TASK_INIT(&sc->sc_resettask,0, ath_reset_proc, sc);
+ TASK_INIT(&sc->sc_txqtask,0, ath_txq_sched_tasklet, sc);
/*
* Allocate hardware transmit queues: one queue for
@@ -5132,6 +5134,41 @@ ath_tx_proc(void *arg, int npending)
#undef TXQACTIVE
/*
+ * Deferred processing of TXQ rescheduling.
+ */
+static void
+ath_txq_sched_tasklet(void *arg, int npending)
+{
+ struct ath_softc *sc = arg;
+ int i;
+
+ /* XXX is skipping ok? */
+ ATH_PCU_LOCK(sc);
+#if 0
+ if (sc->sc_inreset_cnt > 0) {
+ device_printf(sc->sc_dev,
+ "%s: sc_inreset_cnt > 0; skipping\n", __func__);
+ ATH_PCU_UNLOCK(sc);
+ return;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list