From owner-svn-src-projects@FreeBSD.ORG Sun Dec 15 13:15:39 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 86ADC88C; Sun, 15 Dec 2013 13:15:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7291B144A; Sun, 15 Dec 2013 13:15:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBFDFdmR014054; Sun, 15 Dec 2013 13:15:39 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBFDFdoj014052; Sun, 15 Dec 2013 13:15:39 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312151315.rBFDFdoj014052@svn.freebsd.org> From: Andrew Turner Date: Sun, 15 Dec 2013 13:15:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259414 - in projects/specific_leg/sys: arm/arm conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Dec 2013 13:15:39 -0000 Author: andrew Date: Sun Dec 15 13:15:38 2013 New Revision: 259414 URL: http://svnweb.freebsd.org/changeset/base/259414 Log: Move _end back to the end of the kernel's bss and add an _ebss value to find the end of the bss to clear. Without this the kernel breaks when the size of the .text section is wrong by pushing the startup page table into the area allocated in initarm. It was only by luck this worked previously. Modified: projects/specific_leg/sys/arm/arm/locore.S projects/specific_leg/sys/conf/ldscript.arm Modified: projects/specific_leg/sys/arm/arm/locore.S ============================================================================== --- projects/specific_leg/sys/arm/arm/locore.S Sun Dec 15 08:52:16 2013 (r259413) +++ projects/specific_leg/sys/arm/arm/locore.S Sun Dec 15 13:15:38 2013 (r259414) @@ -287,7 +287,7 @@ Lstartup_pagetable_secondary: .Lstart: .word _edata - .word _end + .word _ebss .word svcstk + INIT_ARM_STACK_SIZE .Lvirt_done: Modified: projects/specific_leg/sys/conf/ldscript.arm ============================================================================== --- projects/specific_leg/sys/conf/ldscript.arm Sun Dec 15 08:52:16 2013 (r259413) +++ projects/specific_leg/sys/conf/ldscript.arm Sun Dec 15 13:15:38 2013 (r259414) @@ -108,13 +108,14 @@ SECTIONS *(.bss) *(COMMON) . = ALIGN(32 / 8); - _end = . ; - PROVIDE (end = .); + _ebss = .; /* A section for the initial page table, it doesn't need to be in the kernel file, however unlike normal .bss entries should not be zeroed out as we use it before the .bss section is cleared. */ *(.init_pagetable) } + _end = . ; + PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } From owner-svn-src-projects@FreeBSD.ORG Sun Dec 15 15:37:08 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 136047F5; Sun, 15 Dec 2013 15:37:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F36041CA0; Sun, 15 Dec 2013 15:37:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBFFb7te065142; Sun, 15 Dec 2013 15:37:07 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBFFb70t065140; Sun, 15 Dec 2013 15:37:07 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312151537.rBFFb70t065140@svn.freebsd.org> From: Andrew Turner Date: Sun, 15 Dec 2013 15:37:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259415 - projects/specific_leg/sys/arm/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Dec 2013 15:37:08 -0000 Author: andrew Date: Sun Dec 15 15:37:07 2013 New Revision: 259415 URL: http://svnweb.freebsd.org/changeset/base/259415 Log: Reorder pmap.h to check for a v6+ MMU first. We are unable to have both v4/5 and v6/7 in the kernel. Modified: projects/specific_leg/sys/arm/include/cpuconf.h projects/specific_leg/sys/arm/include/pmap.h Modified: projects/specific_leg/sys/arm/include/cpuconf.h ============================================================================== --- projects/specific_leg/sys/arm/include/cpuconf.h Sun Dec 15 13:15:38 2013 (r259414) +++ projects/specific_leg/sys/arm/include/cpuconf.h Sun Dec 15 15:37:07 2013 (r259415) @@ -183,6 +183,11 @@ #error ARM_NMMUS is 0 #endif +#if (ARM_MMU_V6 + ARM_MMU_V7) > 0 && ARM_NMMUS != (ARM_MMU_V6 + ARM_MMU_V7) +#error Unable to mix pre-v6 MMUs with post-v6 MMUs +#endif + + /* * Step 4: Define features that may be present on a subset of CPUs * Modified: projects/specific_leg/sys/arm/include/pmap.h ============================================================================== --- projects/specific_leg/sys/arm/include/pmap.h Sun Dec 15 13:15:38 2013 (r259414) +++ projects/specific_leg/sys/arm/include/pmap.h Sun Dec 15 15:37:07 2013 (r259415) @@ -341,47 +341,7 @@ extern int pmap_needs_pte_sync; #define L2_AP(x) (L2_AP0(x) | L2_AP1(x) | L2_AP2(x) | L2_AP3(x)) #endif -#if ARM_NMMUS > 1 -/* More than one MMU class configured; use variables. */ -#define L2_S_PROT_U pte_l2_s_prot_u -#define L2_S_PROT_W pte_l2_s_prot_w -#define L2_S_PROT_MASK pte_l2_s_prot_mask - -#define L1_S_CACHE_MASK pte_l1_s_cache_mask -#define L2_L_CACHE_MASK pte_l2_l_cache_mask -#define L2_S_CACHE_MASK pte_l2_s_cache_mask - -#define L1_S_PROTO pte_l1_s_proto -#define L1_C_PROTO pte_l1_c_proto -#define L2_S_PROTO pte_l2_s_proto - -#elif (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 -#define L2_S_PROT_U L2_S_PROT_U_generic -#define L2_S_PROT_W L2_S_PROT_W_generic -#define L2_S_PROT_MASK L2_S_PROT_MASK_generic - -#define L1_S_CACHE_MASK L1_S_CACHE_MASK_generic -#define L2_L_CACHE_MASK L2_L_CACHE_MASK_generic -#define L2_S_CACHE_MASK L2_S_CACHE_MASK_generic - -#define L1_S_PROTO L1_S_PROTO_generic -#define L1_C_PROTO L1_C_PROTO_generic -#define L2_S_PROTO L2_S_PROTO_generic - -#elif ARM_MMU_XSCALE == 1 -#define L2_S_PROT_U L2_S_PROT_U_xscale -#define L2_S_PROT_W L2_S_PROT_W_xscale -#define L2_S_PROT_MASK L2_S_PROT_MASK_xscale - -#define L1_S_CACHE_MASK L1_S_CACHE_MASK_xscale -#define L2_L_CACHE_MASK L2_L_CACHE_MASK_xscale -#define L2_S_CACHE_MASK L2_S_CACHE_MASK_xscale - -#define L1_S_PROTO L1_S_PROTO_xscale -#define L1_C_PROTO L1_C_PROTO_xscale -#define L2_S_PROTO L2_S_PROTO_xscale - -#elif (ARM_MMU_V6 + ARM_MMU_V7) != 0 +#if (ARM_MMU_V6 + ARM_MMU_V7) != 0 /* * AP[2:1] access permissions model: * @@ -486,7 +446,48 @@ extern int pmap_needs_pte_sync; #define ARM_L2S_NRML_IWB_OWB (L2_C|L2_B|L2_SHARED) #define ARM_L2S_NRML_IWBA_OWBA (L2_S_TEX(1)|L2_C|L2_B|L2_SHARED) #endif /* SMP */ -#endif /* ARM_NMMUS > 1 */ + +#elif ARM_NMMUS > 1 /* This will only work for pre-v6 MMUs */ +/* More than one MMU class configured; use variables. */ +#define L2_S_PROT_U pte_l2_s_prot_u +#define L2_S_PROT_W pte_l2_s_prot_w +#define L2_S_PROT_MASK pte_l2_s_prot_mask + +#define L1_S_CACHE_MASK pte_l1_s_cache_mask +#define L2_L_CACHE_MASK pte_l2_l_cache_mask +#define L2_S_CACHE_MASK pte_l2_s_cache_mask + +#define L1_S_PROTO pte_l1_s_proto +#define L1_C_PROTO pte_l1_c_proto +#define L2_S_PROTO pte_l2_s_proto + +#elif (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 +#define L2_S_PROT_U L2_S_PROT_U_generic +#define L2_S_PROT_W L2_S_PROT_W_generic +#define L2_S_PROT_MASK L2_S_PROT_MASK_generic + +#define L1_S_CACHE_MASK L1_S_CACHE_MASK_generic +#define L2_L_CACHE_MASK L2_L_CACHE_MASK_generic +#define L2_S_CACHE_MASK L2_S_CACHE_MASK_generic + +#define L1_S_PROTO L1_S_PROTO_generic +#define L1_C_PROTO L1_C_PROTO_generic +#define L2_S_PROTO L2_S_PROTO_generic + +#elif ARM_MMU_XSCALE == 1 +#define L2_S_PROT_U L2_S_PROT_U_xscale +#define L2_S_PROT_W L2_S_PROT_W_xscale +#define L2_S_PROT_MASK L2_S_PROT_MASK_xscale + +#define L1_S_CACHE_MASK L1_S_CACHE_MASK_xscale +#define L2_L_CACHE_MASK L2_L_CACHE_MASK_xscale +#define L2_S_CACHE_MASK L2_S_CACHE_MASK_xscale + +#define L1_S_PROTO L1_S_PROTO_xscale +#define L1_C_PROTO L1_C_PROTO_xscale +#define L2_S_PROTO L2_S_PROTO_xscale + +#endif /* (ARM_MMU_V6 + ARM_MMU_V7) != 0 */ #if (ARM_MMU_SA1 == 1) && (ARM_NMMUS == 1) #define PMAP_NEEDS_PTE_SYNC 1 From owner-svn-src-projects@FreeBSD.ORG Sun Dec 15 18:01:19 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 309E77E7; Sun, 15 Dec 2013 18:01:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1D8EF1528; Sun, 15 Dec 2013 18:01:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBFI1IUd020209; Sun, 15 Dec 2013 18:01:18 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBFI1IwM020208; Sun, 15 Dec 2013 18:01:18 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201312151801.rBFI1IwM020208@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 15 Dec 2013 18:01:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259419 - projects/altix2/sys/sparc64/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Dec 2013 18:01:19 -0000 Author: marcel Date: Sun Dec 15 18:01:18 2013 New Revision: 259419 URL: http://svnweb.freebsd.org/changeset/base/259419 Log: Bump BUS_SPACE_MAXADDR from 2^31-1 to 2^64-1. The bus_dma compat layer panics, because it checks that the maximum address passed to bus_dma_tag_create() matches BUS_SPACE_MAXADDR and finds that it doesn't for psycho(4). The psycho(4) driver passes ~0 and not BUS_SPACE_MAXADDR. sparc64 is a 64-bit archirecture, so why isn't BUS_SPACE_MAXADDR 2^61-1? I'm probably groing to regret this change, but so far it doesn't look like it's having any negative side-effects. While here, postfix U and UL to the BUS_SPACE constants. Modified: projects/altix2/sys/sparc64/include/bus.h Modified: projects/altix2/sys/sparc64/include/bus.h ============================================================================== --- projects/altix2/sys/sparc64/include/bus.h Sun Dec 15 16:58:23 2013 (r259418) +++ projects/altix2/sys/sparc64/include/bus.h Sun Dec 15 18:01:18 2013 (r259419) @@ -94,11 +94,11 @@ extern const int bus_stream_asi[]; #define __BUS_SPACE_HAS_STREAM_METHODS 1 #define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF -#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF -#define BUS_SPACE_MAXSIZE 0xFFFFFFFFFFFFFFFF +#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFFU +#define BUS_SPACE_MAXSIZE 0xFFFFFFFFFFFFFFFFUL #define BUS_SPACE_MAXADDR_24BIT 0xFFFFFF -#define BUS_SPACE_MAXADDR_32BIT 0xFFFFFFFF -#define BUS_SPACE_MAXADDR 0xFFFFFFFF +#define BUS_SPACE_MAXADDR_32BIT 0xFFFFFFFFU +#define BUS_SPACE_MAXADDR 0xFFFFFFFFFFFFFFFFUL #define BUS_SPACE_UNRESTRICTED (~0) From owner-svn-src-projects@FreeBSD.ORG Sun Dec 15 18:05:06 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C52C58FA; Sun, 15 Dec 2013 18:05:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B10E3153E; Sun, 15 Dec 2013 18:05:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBFI56ss020837; Sun, 15 Dec 2013 18:05:06 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBFI54Te020823; Sun, 15 Dec 2013 18:05:04 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201312151805.rBFI54Te020823@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 15 Dec 2013 18:05:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259420 - in projects/altix2/sys/sparc64: pci sbus sparc64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Dec 2013 18:05:06 -0000 Author: marcel Date: Sun Dec 15 18:05:04 2013 New Revision: 259420 URL: http://svnweb.freebsd.org/changeset/base/259420 Log: Add support for switching sparc64 to busdma/mi. The legacy bus_dma bits are conditionally compiled based on LEGACY_BUS_DMA option. Modified: projects/altix2/sys/sparc64/pci/fire.c projects/altix2/sys/sparc64/pci/firevar.h projects/altix2/sys/sparc64/pci/psycho.c projects/altix2/sys/sparc64/pci/psychovar.h projects/altix2/sys/sparc64/pci/schizo.c projects/altix2/sys/sparc64/pci/schizovar.h projects/altix2/sys/sparc64/sbus/sbus.c projects/altix2/sys/sparc64/sparc64/bus_machdep.c projects/altix2/sys/sparc64/sparc64/iommu.c projects/altix2/sys/sparc64/sparc64/nexus.c Modified: projects/altix2/sys/sparc64/pci/fire.c ============================================================================== --- projects/altix2/sys/sparc64/pci/fire.c Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/pci/fire.c Sun Dec 15 18:05:04 2013 (r259420) @@ -88,8 +88,10 @@ __FBSDID("$FreeBSD$"); struct fire_msiqarg; static const struct fire_desc *fire_get_desc(device_t dev); +#ifdef LEGACY_BUS_DMA static void fire_dmamap_sync(bus_dma_tag_t dt __unused, bus_dmamap_t map, bus_dmasync_op_t op); +#endif static int fire_get_intrmap(struct fire_softc *sc, u_int ino, bus_addr_t *intrmapptr, bus_addr_t *intrclrptr); static void fire_intr_assign(void *arg); @@ -707,15 +709,19 @@ fire_attach(device_t dev) * Set up the IOMMU. Both Fire and Oberon have one per PBM, but * neither has a streaming buffer. */ +#ifdef LEGACY_BUS_DMA memcpy(&sc->sc_dma_methods, &iommu_dma_methods, sizeof(sc->sc_dma_methods)); +#endif sc->sc_is_ptr = &sc->sc_is; /* For busdma/mi */ sc->sc_is.is_flags = IOMMU_FIRE | IOMMU_PRESERVE_PROM; if (sc->sc_mode == FIRE_MODE_OBERON) { sc->sc_is.is_flags |= IOMMU_FLUSH_CACHE; sc->sc_is.is_pmaxaddr = IOMMU_MAXADDR(OBERON_IOMMU_BITS); } else { +#ifdef LEGACY_BUS_DMA sc->sc_dma_methods.dm_dmamap_sync = fire_dmamap_sync; +#endif sc->sc_is.is_pmaxaddr = IOMMU_MAXADDR(FIRE_IOMMU_BITS); } sc->sc_is.is_sb[0] = sc->sc_is.is_sb[1] = 0; @@ -776,10 +782,11 @@ fire_attach(device_t dev) sc->sc_is.is_pmaxaddr, ~0, NULL, NULL, sc->sc_is.is_pmaxaddr, 0xff, 0xffffffff, 0, NULL, NULL, &sc->sc_pci_dmat) != 0) panic("%s: could not create PCI DMA tag", __func__); +#ifdef LEGACY_BUS_DMA /* Customize the tag. */ sc->sc_pci_dmat->dt_cookie = &sc->sc_is; sc->sc_pci_dmat->dt_mt = &sc->sc_dma_methods; - +#endif /* * Get the bus range from the firmware. * NB: Neither Fire nor Oberon support PCI bus reenumeration. @@ -1510,6 +1517,7 @@ fire_read_ivar(device_t dev, device_t ch return (ENOENT); } +#ifdef LEGACY_BUS_DMA static void fire_dmamap_sync(bus_dma_tag_t dt __unused, bus_dmamap_t map, bus_dmasync_op_t op) @@ -1532,6 +1540,7 @@ fire_dmamap_sync(bus_dma_tag_t dt __unus } else if ((op & BUS_DMASYNC_PREWRITE) != 0) membar(Sync); } +#endif /* LEGACY_BUS_DMA */ static void fire_intr_enable(void *arg) Modified: projects/altix2/sys/sparc64/pci/firevar.h ============================================================================== --- projects/altix2/sys/sparc64/pci/firevar.h Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/pci/firevar.h Sun Dec 15 18:05:04 2013 (r259420) @@ -39,8 +39,9 @@ struct fire_softc { */ struct iommu_state *sc_is_ptr; struct iommu_state sc_is; +#ifdef LEGACY_BUS_DMA struct bus_dma_methods sc_dma_methods; - +#endif struct mtx sc_msi_mtx; struct mtx sc_pcib_mtx; Modified: projects/altix2/sys/sparc64/pci/psycho.c ============================================================================== --- projects/altix2/sys/sparc64/pci/psycho.c Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/pci/psycho.c Sun Dec 15 18:05:04 2013 (r259420) @@ -86,8 +86,10 @@ static void psycho_set_intr(struct psych driver_filter_t, driver_intr_t); static int psycho_find_intrmap(struct psycho_softc *, u_int, bus_addr_t *, bus_addr_t *, u_long *); +#ifdef LEGACY_BUS_DMA static void sabre_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op); +#endif static void psycho_intr_enable(void *); static void psycho_intr_disable(void *); static void psycho_intr_assign(void *); @@ -549,6 +551,7 @@ psycho_attach(device_t dev) panic("%s: could not malloc IOMMU state", __func__); sc->sc_is->is_flags = IOMMU_PRESERVE_PROM; if (sc->sc_mode == PSYCHO_MODE_SABRE) { +#ifdef LEGACY_BUS_DMA sc->sc_dma_methods = malloc(sizeof(*sc->sc_dma_methods), M_DEVBUF, M_NOWAIT); @@ -559,10 +562,13 @@ psycho_attach(device_t dev) sizeof(*sc->sc_dma_methods)); sc->sc_dma_methods->dm_dmamap_sync = sabre_dmamap_sync; +#endif sc->sc_is->is_pmaxaddr = IOMMU_MAXADDR(SABRE_IOMMU_BITS); } else { +#ifdef LEGACY_BUS_DMA sc->sc_dma_methods = &iommu_dma_methods; +#endif sc->sc_is->is_pmaxaddr = IOMMU_MAXADDR(PSYCHO_IOMMU_BITS); } @@ -572,8 +578,10 @@ psycho_attach(device_t dev) sc->sc_is->is_flags |= (rerun != 1) ? IOMMU_RERUN_DISABLE : 0; psycho_iommu_init(sc, 3, dvmabase); } else { +#ifdef LEGACY_BUS_DMA /* Just copy IOMMU state, config tag and address. */ sc->sc_dma_methods = &iommu_dma_methods; +#endif sc->sc_is = osc->sc_is; if (OF_getproplen(node, "no-streaming-cache") < 0) sc->sc_is->is_sb[1] = sc->sc_pcictl + PCR_STRBUF; @@ -592,10 +600,11 @@ psycho_attach(device_t dev) sc->sc_is->is_pmaxaddr, ~0, NULL, NULL, sc->sc_is->is_pmaxaddr, 0xff, 0xffffffff, 0, NULL, NULL, &sc->sc_pci_dmat) != 0) panic("%s: could not create PCI DMA tag", __func__); +#ifdef LEGACY_BUS_DMA /* Customize the tag. */ sc->sc_pci_dmat->dt_cookie = sc->sc_is; sc->sc_pci_dmat->dt_mt = sc->sc_dma_methods; - +#endif i = OF_getprop(node, "bus-range", (void *)prop_array, sizeof(prop_array)); if (i == -1) @@ -1105,6 +1114,7 @@ psycho_read_ivar(device_t dev, device_t return (ENOENT); } +#ifdef LEGACY_BUS_DMA static void sabre_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op) { @@ -1120,6 +1130,7 @@ sabre_dmamap_sync(bus_dma_tag_t dt, bus_ if ((op & BUS_DMASYNC_PREWRITE) != 0) membar(Sync); } +#endif /* LEGACY_BUS_DMA */ static void psycho_intr_enable(void *arg) Modified: projects/altix2/sys/sparc64/pci/psychovar.h ============================================================================== --- projects/altix2/sys/sparc64/pci/psychovar.h Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/pci/psychovar.h Sun Dec 15 18:05:04 2013 (r259420) @@ -42,8 +42,9 @@ struct psycho_softc { * it from within the busdma I/F methods. */ struct iommu_state *sc_is; +#ifdef LEGACY_BUS_DMA struct bus_dma_methods *sc_dma_methods; - +#endif device_t sc_dev; struct mtx *sc_mtx; Modified: projects/altix2/sys/sparc64/pci/schizo.c ============================================================================== --- projects/altix2/sys/sparc64/pci/schizo.c Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/pci/schizo.c Sun Dec 15 18:05:04 2013 (r259420) @@ -82,10 +82,12 @@ __FBSDID("$FreeBSD$"); static const struct schizo_desc *schizo_get_desc(device_t); static void schizo_set_intr(struct schizo_softc *, u_int, u_int, driver_filter_t); +#ifdef LEGACY_BUS_DMA static void schizo_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op); static void ichip_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op); +#endif static void schizo_intr_enable(void *); static void schizo_intr_disable(void *); static void schizo_intr_assign(void *); @@ -512,8 +514,10 @@ schizo_attach(device_t dev) * affected by several errata though. However, except for context * flushes, taking advantage of it should be okay even with those. */ +#ifdef LEGACY_BUS_DMA memcpy(&sc->sc_dma_methods, &iommu_dma_methods, sizeof(sc->sc_dma_methods)); +#endif sc->sc_is_ptr = &sc->sc_is.sis_is; /* For busdma/mi */ sc->sc_is.sis_sc = sc; sc->sc_is.sis_is.is_flags = IOMMU_PRESERVE_PROM; @@ -601,10 +605,11 @@ schizo_attach(device_t dev) sc->sc_is.sis_is.is_pmaxaddr, 0xff, 0xffffffff, 0, NULL, NULL, &sc->sc_pci_dmat) != 0) panic("%s: could not create PCI DMA tag", __func__); +#ifdef LEGACY_BUS_DMA /* Customize the tag. */ sc->sc_pci_dmat->dt_cookie = &sc->sc_is; sc->sc_pci_dmat->dt_mt = &sc->sc_dma_methods; - +#endif /* * Get the bus range from the firmware. * NB: Tomatillos don't support PCI bus reenumeration. @@ -704,8 +709,10 @@ schizo_attach(device_t dev) sc->sc_mode == SCHIZO_MODE_TOM || sc->sc_mode == SCHIZO_MODE_XMS) { if (sc->sc_mode == SCHIZO_MODE_SCZ) { +#ifdef LEGACY_BUS_DMA sc->sc_dma_methods.dm_dmamap_sync = schizo_dmamap_sync; +#endif sc->sc_cdma_state = SCHIZO_CDMA_STATE_IDLE; /* * Some firmware versions include the CDMA interrupt @@ -741,8 +748,10 @@ schizo_attach(device_t dev) NULL, MTX_SPIN); sc->sc_sync_val = 1ULL << (STX_PCIERR_A_INO + sc->sc_half); +#ifdef LEGACY_BUS_DMA sc->sc_dma_methods.dm_dmamap_sync = ichip_dmamap_sync; +#endif } if (sc->sc_mode == SCHIZO_MODE_TOM && sc->sc_ver <= 4) sc->sc_flags |= SCHIZO_FLAGS_BSWAR; @@ -1159,6 +1168,7 @@ schizo_read_ivar(device_t dev, device_t return (ENOENT); } +#ifdef LEGACY_BUS_DMA static void schizo_dmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op) { @@ -1271,6 +1281,7 @@ ichip_dmamap_sync(bus_dma_tag_t dt, bus_ if ((op & BUS_DMASYNC_PREWRITE) != 0) membar(Sync); } +#endif /* LEGACY_BUS_DMA */ static void schizo_intr_enable(void *arg) Modified: projects/altix2/sys/sparc64/pci/schizovar.h ============================================================================== --- projects/altix2/sys/sparc64/pci/schizovar.h Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/pci/schizovar.h Sun Dec 15 18:05:04 2013 (r259420) @@ -45,8 +45,9 @@ struct schizo_softc { * it from within the busdma I/F methods. */ struct iommu_state *sc_is_ptr; +#ifdef LEGACY_BUS_DMA struct bus_dma_methods sc_dma_methods; - +#endif device_t sc_dev; struct mtx sc_sync_mtx; Modified: projects/altix2/sys/sparc64/sbus/sbus.c ============================================================================== --- projects/altix2/sys/sparc64/sbus/sbus.c Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/sbus/sbus.c Sun Dec 15 18:05:04 2013 (r259420) @@ -385,10 +385,11 @@ sbus_attach(device_t dev) sc->sc_is.is_pmaxaddr, ~0, NULL, NULL, sc->sc_is.is_pmaxaddr, 0xff, 0xffffffff, 0, NULL, NULL, &sc->sc_cdmatag) != 0) panic("%s: bus_dma_tag_create failed", __func__); +#ifdef LEGACY_BUS_DMA /* Customize the tag. */ sc->sc_cdmatag->dt_cookie = &sc->sc_is; sc->sc_cdmatag->dt_mt = &iommu_dma_methods; - +#endif /* * Hunt through all the interrupt mapping regs and register our * interrupt controller for the corresponding interrupt vectors. Modified: projects/altix2/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/altix2/sys/sparc64/sparc64/bus_machdep.c Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/sparc64/bus_machdep.c Sun Dec 15 18:05:04 2013 (r259420) @@ -138,6 +138,7 @@ const int bus_stream_asi[] = { 0 }; +#ifdef LEGACY_BUS_DMA /* * Convenience function for manipulating driver locks from busdma (during * busdma_swi, for example). Drivers that don't provide their own locks @@ -593,6 +594,7 @@ struct bus_dma_tag nexus_dmatag = { NULL, &nexus_dma_methods, }; +#endif /* LEGACY_BUS_DMA */ /* * Helpers to map/unmap bus memory Modified: projects/altix2/sys/sparc64/sparc64/iommu.c ============================================================================== --- projects/altix2/sys/sparc64/sparc64/iommu.c Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/sparc64/iommu.c Sun Dec 15 18:05:04 2013 (r259420) @@ -219,6 +219,7 @@ iommu_strbuf_sync(struct iommu_state *is iommu_strbuf_flush_sync(is); } +#ifdef LEGACY_BUS_DMA /* LRU queue handling for lazy resource allocation. */ static __inline void iommu_map_insq(struct iommu_state *is, bus_dmamap_t map) @@ -242,6 +243,7 @@ iommu_map_remq(struct iommu_state *is, b TAILQ_REMOVE(&is->is_maplruq, map, dm_maplruq); map->dm_onq = 0; } +#endif /* LEGACY_BUS_DMA */ /* * initialise the UltraSPARC IOMMU (PCI or SBus): @@ -561,6 +563,7 @@ iommu_strbuf_flush_sync(struct iommu_sta return (1); } +#ifdef LEGACY_BUS_DMA /* Determine whether we may enable streaming on a mapping. */ static __inline int iommu_use_streaming(struct iommu_state *is, bus_dmamap_t map, bus_size_t size) @@ -1166,6 +1169,7 @@ iommu_dvmamap_sync(bus_dma_tag_t dt, bus if ((op & BUS_DMASYNC_PREWRITE) != 0) membar(Sync); } +#endif /* LEGACY_BUS_DMA */ @@ -1202,8 +1206,10 @@ iommu_map(device_t bus, device_t dev __u size = busdma_md_get_size(md, idx) + (ba & IO_PAGE_MASK); size = round_io_page(size) >> IO_PAGE_SHIFT; + IS_LOCK(is); r = rman_reserve_resource_bound(&is->is_dvma_rman, 0L, maxaddr, size, bndry, RF_ACTIVE | rman_make_alignment_flags(align), NULL); + IS_UNLOCK(is); if (r == NULL) return (ENOMEM); @@ -1341,6 +1347,7 @@ iommu_diag(struct iommu_state *is, vm_of #endif /* IOMMU_DIAG */ +#ifdef LEGACY_BUS_DMA struct bus_dma_methods iommu_dma_methods = { iommu_dvmamap_create, iommu_dvmamap_destroy, @@ -1353,3 +1360,4 @@ struct bus_dma_methods iommu_dma_methods iommu_dvmamem_alloc, iommu_dvmamem_free, }; +#endif /* LEGACY_BUS_DMA */ Modified: projects/altix2/sys/sparc64/sparc64/nexus.c ============================================================================== --- projects/altix2/sys/sparc64/sparc64/nexus.c Sun Dec 15 18:01:18 2013 (r259419) +++ projects/altix2/sys/sparc64/sparc64/nexus.c Sun Dec 15 18:05:04 2013 (r259420) @@ -97,7 +97,9 @@ static bus_get_resource_list_t nexus_get static bus_bind_intr_t nexus_bind_intr; #endif static bus_describe_intr_t nexus_describe_intr; +#ifdef LEGACY_BUS_DMA static bus_get_dma_tag_t nexus_get_dma_tag; +#endif static ofw_bus_get_devinfo_t nexus_get_devinfo; static int nexus_inlist(const char *, const char *const *); @@ -134,8 +136,9 @@ static device_method_t nexus_methods[] = DEVMETHOD(bus_bind_intr, nexus_bind_intr), #endif DEVMETHOD(bus_describe_intr, nexus_describe_intr), +#ifdef LEGACY_BUS_DMA DEVMETHOD(bus_get_dma_tag, nexus_get_dma_tag), - +#endif /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_devinfo, nexus_get_devinfo), DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), @@ -181,7 +184,9 @@ static const char *const nexus_excl_type }; extern struct bus_space_tag nexus_bustag; +#ifdef LEGACY_BUS_DMA extern struct bus_dma_tag nexus_dmatag; +#endif static int nexus_inlist(const char *name, const char *const *list) @@ -495,12 +500,14 @@ nexus_get_resource_list(device_t bus __u return (&ndi->ndi_rl); } +#ifdef LEGACY_BUS_DMA static bus_dma_tag_t nexus_get_dma_tag(device_t bus __unused, device_t child __unused) { return (&nexus_dmatag); } +#endif static const struct ofw_bus_devinfo * nexus_get_devinfo(device_t bus __unused, device_t child) From owner-svn-src-projects@FreeBSD.ORG Sun Dec 15 18:22:52 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 20F77FAA; Sun, 15 Dec 2013 18:22:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0DE701680; Sun, 15 Dec 2013 18:22:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBFIMpWB028024; Sun, 15 Dec 2013 18:22:51 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBFIMpCk028023; Sun, 15 Dec 2013 18:22:51 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201312151822.rBFIMpCk028023@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 15 Dec 2013 18:22:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259423 - projects/altix2/sys/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Dec 2013 18:22:52 -0000 Author: marcel Date: Sun Dec 15 18:22:51 2013 New Revision: 259423 URL: http://svnweb.freebsd.org/changeset/base/259423 Log: Put maxaddr in the panic string. It's helpful. Modified: projects/altix2/sys/sys/bus_dma_compat.h Modified: projects/altix2/sys/sys/bus_dma_compat.h ============================================================================== --- projects/altix2/sys/sys/bus_dma_compat.h Sun Dec 15 18:13:42 2013 (r259422) +++ projects/altix2/sys/sys/bus_dma_compat.h Sun Dec 15 18:22:51 2013 (r259423) @@ -50,7 +50,8 @@ bus_dma_tag_create(bus_dma_tag_t dt, bus uintptr_t token; int error; - KASSERT(highaddr == BUS_SPACE_MAXADDR, ("%s: bad highaddr", __func__)); + KASSERT(highaddr == BUS_SPACE_MAXADDR, + ("%s: bad highaddr %lx", __func__, (u_long)highaddr)); token = (uintptr_t)(void *)dt; if (token & 1UL) { From owner-svn-src-projects@FreeBSD.ORG Mon Dec 16 00:59:13 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9812C361; Mon, 16 Dec 2013 00:59:13 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7F43411C8; Mon, 16 Dec 2013 00:59:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBG0xDiJ072941; Mon, 16 Dec 2013 00:59:13 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBG0x6Ci072902; Mon, 16 Dec 2013 00:59:06 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201312160059.rBG0x6Ci072902@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 16 Dec 2013 00:59:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259442 - in projects/altix2: . bin bin/date bin/date/tests bin/mv bin/mv/tests bin/pax bin/pax/tests bin/sh bin/sh/tests bin/test bin/test/tests bin/tests cddl/contrib/opensolaris/cmd/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Dec 2013 00:59:13 -0000 Author: marcel Date: Mon Dec 16 00:59:05 2013 New Revision: 259442 URL: http://svnweb.freebsd.org/changeset/base/259442 Log: Merge ^/head@259441 Added: projects/altix2/bin/date/tests/ - copied from r259441, head/bin/date/tests/ projects/altix2/bin/mv/tests/ - copied from r259441, head/bin/mv/tests/ projects/altix2/bin/pax/tests/ - copied from r259441, head/bin/pax/tests/ projects/altix2/bin/sh/tests/ - copied from r259441, head/bin/sh/tests/ projects/altix2/bin/test/tests/ - copied from r259441, head/bin/test/tests/ projects/altix2/bin/tests/ - copied from r259441, head/bin/tests/ projects/altix2/release/scripts/FreeBSD_install_cdrom.conf - copied unchanged from r259441, head/release/scripts/FreeBSD_install_cdrom.conf projects/altix2/share/mk/tap.test.mk - copied unchanged from r259441, head/share/mk/tap.test.mk projects/altix2/sys/boot/fdt/dts/beri-netfpga.dts - copied unchanged from r259441, head/sys/boot/fdt/dts/beri-netfpga.dts projects/altix2/sys/dev/netmap/netmap_freebsd.c - copied unchanged from r259441, head/sys/dev/netmap/netmap_freebsd.c projects/altix2/sys/dev/netmap/netmap_generic.c - copied unchanged from r259441, head/sys/dev/netmap/netmap_generic.c projects/altix2/sys/dev/netmap/netmap_mbq.c - copied unchanged from r259441, head/sys/dev/netmap/netmap_mbq.c projects/altix2/sys/dev/netmap/netmap_mbq.h - copied unchanged from r259441, head/sys/dev/netmap/netmap_mbq.h projects/altix2/sys/dev/netmap/netmap_vale.c - copied unchanged from r259441, head/sys/dev/netmap/netmap_vale.c projects/altix2/sys/mips/conf/BERI_NETFPGA_MDROOT - copied unchanged from r259441, head/sys/mips/conf/BERI_NETFPGA_MDROOT projects/altix2/sys/opencrypto/cryptodeflate.c - copied unchanged from r259441, head/sys/opencrypto/cryptodeflate.c projects/altix2/sys/powerpc/cpufreq/pmufreq.c - copied unchanged from r259441, head/sys/powerpc/cpufreq/pmufreq.c projects/altix2/tools/regression/usr.bin/sed/regress.icase4.out - copied unchanged from r259441, head/tools/regression/usr.bin/sed/regress.icase4.out projects/altix2/tools/regression/usr.sbin/etcupdate/tzsetup.sh - copied unchanged from r259441, head/tools/regression/usr.sbin/etcupdate/tzsetup.sh projects/altix2/usr.sbin/bhyve/bhyve.8 - copied unchanged from r259441, head/usr.sbin/bhyve/bhyve.8 Deleted: projects/altix2/sys/opencrypto/deflate.c projects/altix2/tools/regression/bin/ Modified: projects/altix2/ObsoleteFiles.inc projects/altix2/UPDATING projects/altix2/bin/Makefile projects/altix2/bin/date/Makefile projects/altix2/bin/mv/Makefile projects/altix2/bin/pax/Makefile projects/altix2/bin/sh/Makefile projects/altix2/bin/test/Makefile projects/altix2/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c projects/altix2/contrib/gcc/ChangeLog.gcc43 projects/altix2/contrib/gcc/c.opt projects/altix2/contrib/gcc/config/i386/emmintrin.h projects/altix2/contrib/gcc/cp/ChangeLog.gcc43 projects/altix2/contrib/gcc/cp/decl.c projects/altix2/contrib/gcc/cp/decl2.c projects/altix2/contrib/gcc/doc/invoke.texi projects/altix2/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/altix2/contrib/tcpdump/addrtoname.c projects/altix2/contrib/tcpdump/tcpdump.c projects/altix2/crypto/heimdal/lib/gssapi/krb5/prf.c projects/altix2/etc/mtree/BSD.tests.dist projects/altix2/etc/rc.d/jail projects/altix2/etc/syslog.conf projects/altix2/games/fortune/datfiles/fortunes projects/altix2/include/rpcsvc/bootparam_prot.x projects/altix2/include/rpcsvc/key_prot.x projects/altix2/include/rpcsvc/klm_prot.x projects/altix2/include/rpcsvc/mount.x projects/altix2/include/rpcsvc/nfs_prot.x projects/altix2/include/rpcsvc/nis.x projects/altix2/include/rpcsvc/nis_callback.x projects/altix2/include/rpcsvc/nis_object.x projects/altix2/include/rpcsvc/nis_tags.h projects/altix2/include/rpcsvc/rex.x projects/altix2/include/rpcsvc/rnusers.x projects/altix2/include/rpcsvc/rstat.x projects/altix2/include/rpcsvc/sm_inter.x projects/altix2/include/rpcsvc/spray.x projects/altix2/include/rpcsvc/yp.x projects/altix2/include/rpcsvc/yppasswd.x projects/altix2/lib/libc/stdlib/getopt_long.3 projects/altix2/lib/libc/xdr/xdr.c projects/altix2/lib/libc/xdr/xdr_array.c projects/altix2/lib/libc/xdr/xdr_float.c projects/altix2/lib/libc/xdr/xdr_mem.c projects/altix2/lib/libc/xdr/xdr_rec.c projects/altix2/lib/libc/xdr/xdr_reference.c projects/altix2/lib/libc/xdr/xdr_sizeof.c projects/altix2/lib/libc/xdr/xdr_stdio.c projects/altix2/lib/libcam/Makefile projects/altix2/lib/libnv/msgio.c projects/altix2/lib/libnv/msgio.h projects/altix2/lib/libnv/nvlist.c projects/altix2/release/Makefile projects/altix2/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/altix2/release/picobsd/build/picobsd projects/altix2/release/scripts/pkg-stage.sh projects/altix2/sbin/casperd/casperd.8 projects/altix2/sbin/casperd/zygote.c projects/altix2/sbin/devd/devd.cc projects/altix2/sbin/growfs/growfs.8 projects/altix2/sbin/hastd/hastd.c projects/altix2/sbin/hastd/nv.c projects/altix2/sbin/hastd/primary.c projects/altix2/sbin/hastd/proto.c projects/altix2/sbin/hastd/secondary.c projects/altix2/share/man/man4/netmap.4 projects/altix2/share/mk/Makefile projects/altix2/share/mk/bsd.progs.mk projects/altix2/sys/amd64/include/apicvar.h projects/altix2/sys/amd64/vmm/intel/vmx.c projects/altix2/sys/amd64/vmm/io/vlapic.c projects/altix2/sys/amd64/vmm/io/vlapic.h projects/altix2/sys/amd64/vmm/vmm.c projects/altix2/sys/amd64/vmm/vmm_lapic.c projects/altix2/sys/amd64/vmm/vmm_lapic.h projects/altix2/sys/amd64/vmm/vmm_msr.c projects/altix2/sys/amd64/vmm/vmm_msr.h projects/altix2/sys/arm/arm/bus_space-v6.c projects/altix2/sys/arm/at91/if_ate.c projects/altix2/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/altix2/sys/arm/freescale/imx/files.imx51 projects/altix2/sys/arm/freescale/imx/files.imx53 projects/altix2/sys/arm/freescale/imx/files.imx6 projects/altix2/sys/arm/rockchip/rk30xx_gpio.c projects/altix2/sys/arm/ti/am335x/am335x_dmtimer.c projects/altix2/sys/arm/ti/am335x/am335x_scm_padconf.c projects/altix2/sys/arm/ti/files.ti projects/altix2/sys/arm/ti/ti_i2c.c projects/altix2/sys/arm/versatile/bus_space.c projects/altix2/sys/arm/xilinx/zy7_bus_space.c projects/altix2/sys/boot/fdt/dts/rk3188.dtsi projects/altix2/sys/cam/cam.h projects/altix2/sys/cam/cam_ccb.h projects/altix2/sys/cam/cam_compat.c projects/altix2/sys/cam/cam_compat.h projects/altix2/sys/cam/scsi/scsi_all.c projects/altix2/sys/cam/scsi/scsi_xpt.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/altix2/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/altix2/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c projects/altix2/sys/conf/files projects/altix2/sys/conf/files.powerpc projects/altix2/sys/conf/kern.mk projects/altix2/sys/conf/options projects/altix2/sys/dev/ahci/ahciem.c projects/altix2/sys/dev/an/if_an.c projects/altix2/sys/dev/an/if_an_pccard.c projects/altix2/sys/dev/cxgbe/adapter.h projects/altix2/sys/dev/cxgbe/common/common.h projects/altix2/sys/dev/cxgbe/offload.h projects/altix2/sys/dev/cxgbe/t4_main.c projects/altix2/sys/dev/cxgbe/t4_sge.c projects/altix2/sys/dev/cxgbe/tom/t4_cpl_io.c projects/altix2/sys/dev/drm2/drmP.h projects/altix2/sys/dev/drm2/drm_fb_helper.c projects/altix2/sys/dev/drm2/radeon/atombios_dp.c projects/altix2/sys/dev/drm2/radeon/radeon_agp.c projects/altix2/sys/dev/hwpmc/hwpmc_powerpc.c projects/altix2/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/altix2/sys/dev/iscsi/iscsi.c projects/altix2/sys/dev/iwn/if_iwn.c projects/altix2/sys/dev/iwn/if_iwn_chip_cfg.h projects/altix2/sys/dev/iwn/if_iwnreg.h projects/altix2/sys/dev/md/md.c projects/altix2/sys/dev/netmap/if_em_netmap.h projects/altix2/sys/dev/netmap/if_igb_netmap.h projects/altix2/sys/dev/netmap/if_lem_netmap.h projects/altix2/sys/dev/netmap/if_re_netmap.h projects/altix2/sys/dev/netmap/ixgbe_netmap.h projects/altix2/sys/dev/netmap/netmap.c projects/altix2/sys/dev/netmap/netmap_kern.h projects/altix2/sys/dev/netmap/netmap_mem2.c projects/altix2/sys/dev/netmap/netmap_mem2.h projects/altix2/sys/dev/ofw/ofw_console.c projects/altix2/sys/dev/ofw/ofw_fdt.c projects/altix2/sys/dev/usb/controller/at91dci.c projects/altix2/sys/dev/usb/controller/atmegadci.c projects/altix2/sys/dev/usb/controller/avr32dci.c projects/altix2/sys/dev/usb/controller/dwc_otg.c projects/altix2/sys/dev/usb/controller/ehci.c projects/altix2/sys/dev/usb/controller/musb_otg.c projects/altix2/sys/dev/usb/controller/ohci.c projects/altix2/sys/dev/usb/controller/uhci.c projects/altix2/sys/dev/usb/controller/usb_controller.c projects/altix2/sys/dev/usb/controller/uss820dci.c projects/altix2/sys/dev/usb/controller/xhci.c projects/altix2/sys/dev/usb/template/usb_template.c projects/altix2/sys/dev/usb/usb_bus.h projects/altix2/sys/dev/usb/usb_device.c projects/altix2/sys/dev/usb/usb_device.h projects/altix2/sys/dev/usb/usb_hub.c projects/altix2/sys/dev/usb/usb_transfer.c projects/altix2/sys/dev/usb/usbdi.h projects/altix2/sys/dev/vt/font/vt_mouse_cursor.c projects/altix2/sys/dev/vt/vt.h projects/altix2/sys/dev/vt/vt_buf.c projects/altix2/sys/dev/vt/vt_core.c projects/altix2/sys/dev/vt/vt_sysmouse.c projects/altix2/sys/fs/devfs/devfs_devs.c projects/altix2/sys/geom/cache/g_cache.c projects/altix2/sys/geom/eli/g_eli.c projects/altix2/sys/geom/eli/g_eli_crypto.c projects/altix2/sys/geom/geom_dev.c projects/altix2/sys/geom/journal/g_journal.c projects/altix2/sys/i386/include/apicvar.h projects/altix2/sys/ia64/ia64/pmap.c projects/altix2/sys/kern/capabilities.conf projects/altix2/sys/kern/init_sysent.c projects/altix2/sys/kern/kern_exit.c projects/altix2/sys/kern/kern_resource.c projects/altix2/sys/kern/makesyscalls.sh projects/altix2/sys/kern/subr_vmem.c projects/altix2/sys/kern/tty.c projects/altix2/sys/kern/vfs_bio.c projects/altix2/sys/mips/beri/beri_machdep.c projects/altix2/sys/mips/cavium/octe/cavium-ethernet.h projects/altix2/sys/mips/cavium/octe/ethernet-mv88e61xx.c projects/altix2/sys/modules/crypto/Makefile projects/altix2/sys/modules/drm2/drm2/Makefile projects/altix2/sys/modules/drm2/i915kms/Makefile projects/altix2/sys/modules/drm2/radeonkms/Makefile projects/altix2/sys/modules/iwnfw/iwn6000g2b/Makefile projects/altix2/sys/modules/netmap/Makefile projects/altix2/sys/modules/usb/Makefile projects/altix2/sys/net/netmap.h projects/altix2/sys/net/netmap_user.h projects/altix2/sys/ofed/drivers/net/mlx4/en_netdev.c projects/altix2/sys/ofed/drivers/net/mlx4/mlx4_en.h projects/altix2/sys/powerpc/aim/mp_cpudep.c projects/altix2/sys/powerpc/aim/trap.c projects/altix2/sys/powerpc/aim/trap_subr32.S projects/altix2/sys/powerpc/aim/trap_subr64.S projects/altix2/sys/powerpc/include/cpu.h projects/altix2/sys/powerpc/include/dbdma.h projects/altix2/sys/powerpc/include/pcpu.h projects/altix2/sys/powerpc/include/pmc_mdep.h projects/altix2/sys/powerpc/include/spr.h projects/altix2/sys/powerpc/powermac/platform_powermac.c projects/altix2/sys/powerpc/powermac/pmu.c projects/altix2/sys/powerpc/powermac/pmuvar.h projects/altix2/sys/powerpc/powermac/uninorth.c projects/altix2/sys/powerpc/powermac/uninorthvar.h projects/altix2/sys/powerpc/powermac/viareg.h projects/altix2/sys/powerpc/powerpc/mp_machdep.c projects/altix2/sys/powerpc/pseries/phyp_vscsi.c projects/altix2/sys/sparc64/sparc64/machdep.c projects/altix2/sys/sys/param.h projects/altix2/sys/vm/vm_page.c projects/altix2/sys/vm/vm_radix.c projects/altix2/sys/vm/vm_radix.h projects/altix2/sys/x86/acpica/madt.c projects/altix2/sys/x86/cpufreq/est.c projects/altix2/sys/x86/include/apicreg.h projects/altix2/sys/x86/include/mptable.h projects/altix2/sys/x86/x86/local_apic.c projects/altix2/sys/x86/x86/mptable.c projects/altix2/tools/regression/usr.bin/sed/regress.sh projects/altix2/tools/regression/usr.sbin/etcupdate/preworld.sh projects/altix2/tools/regression/usr.sbin/etcupdate/tests.sh projects/altix2/usr.bin/calendar/calcpp.c projects/altix2/usr.bin/dtc/fdt.cc projects/altix2/usr.bin/kdump/Makefile projects/altix2/usr.bin/kdump/kdump.c projects/altix2/usr.bin/sed/compile.c projects/altix2/usr.bin/sed/sed.1 projects/altix2/usr.sbin/bhyve/Makefile projects/altix2/usr.sbin/bhyvectl/bhyvectl.c projects/altix2/usr.sbin/bsdconfig/share/common.subr projects/altix2/usr.sbin/bsdconfig/share/packages/index.subr projects/altix2/usr.sbin/bsdinstall/bsdinstall projects/altix2/usr.sbin/bsdinstall/scripts/services projects/altix2/usr.sbin/bsdinstall/scripts/zfsboot projects/altix2/usr.sbin/ctld/login.c projects/altix2/usr.sbin/etcupdate/etcupdate.8 projects/altix2/usr.sbin/etcupdate/etcupdate.sh projects/altix2/usr.sbin/mptable/mptable.c projects/altix2/usr.sbin/mtest/mtest.8 projects/altix2/usr.sbin/ndp/ndp.c projects/altix2/usr.sbin/pkg/config.c projects/altix2/usr.sbin/pkg/config.h projects/altix2/usr.sbin/pkg/pkg.7 projects/altix2/usr.sbin/tcpdump/tcpdump/Makefile projects/altix2/usr.sbin/ypbind/yp_ping.c Directory Properties: projects/altix2/ (props changed) projects/altix2/cddl/ (props changed) projects/altix2/cddl/contrib/opensolaris/ (props changed) projects/altix2/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/altix2/contrib/gcc/ (props changed) projects/altix2/contrib/llvm/ (props changed) projects/altix2/contrib/llvm/tools/clang/ (props changed) projects/altix2/contrib/tcpdump/ (props changed) projects/altix2/crypto/heimdal/ (props changed) projects/altix2/etc/ (props changed) projects/altix2/include/ (props changed) projects/altix2/lib/libc/ (props changed) projects/altix2/sbin/ (props changed) projects/altix2/share/man/man4/ (props changed) projects/altix2/sys/ (props changed) projects/altix2/sys/amd64/vmm/ (props changed) projects/altix2/sys/boot/ (props changed) projects/altix2/sys/cddl/contrib/opensolaris/ (props changed) projects/altix2/sys/conf/ (props changed) projects/altix2/sys/dev/hyperv/ (props changed) projects/altix2/usr.bin/calendar/ (props changed) projects/altix2/usr.sbin/bhyve/ (props changed) projects/altix2/usr.sbin/bhyvectl/ (props changed) Modified: projects/altix2/ObsoleteFiles.inc ============================================================================== --- projects/altix2/ObsoleteFiles.inc Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/ObsoleteFiles.inc Mon Dec 16 00:59:05 2013 (r259442) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20131215: libcam version bumped +OLD_LIBS+=lib/libcam.so.6 usr/lib32/libcam.so.6 # 20131202: libcapsicum and libcasper moved to /lib/ OLD_LIBS+=usr/lib/libcapsicum.so.0 OLD_LIBS+=usr/lib/libcasper.so.0 Modified: projects/altix2/UPDATING ============================================================================== --- projects/altix2/UPDATING Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/UPDATING Mon Dec 16 00:59:05 2013 (r259442) @@ -31,6 +31,17 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20131213: + The behavior of gss_pseudo_random() for the krb5 mechanism + has changed, for applications requesting a longer random string + than produced by the underlying enctype's pseudo-random() function. + In particular, the random string produced from a session key of + enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will + be different at the 17th octet and later, after this change. + The counter used in the PRF+ construction is now encoded as a + big-endian integer in accordance with RFC 4402. + __FreeBSD_version is bumped to 1100004. + 20131108: The WITHOUT_ATF build knob has been removed and its functionality has been subsumed into the more generic WITHOUT_TESTS. If you were Modified: projects/altix2/bin/Makefile ============================================================================== --- projects/altix2/bin/Makefile Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/bin/Makefile Mon Dec 16 00:59:05 2013 (r259442) @@ -52,6 +52,10 @@ SUBDIR+= rmail SUBDIR+= csh .endif +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include SUBDIR:= ${SUBDIR:O} Modified: projects/altix2/bin/date/Makefile ============================================================================== --- projects/altix2/bin/date/Makefile Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/bin/date/Makefile Mon Dec 16 00:59:05 2013 (r259442) @@ -1,7 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PROG= date SRCS= date.c netdate.c vary.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/altix2/bin/mv/Makefile ============================================================================== --- projects/altix2/bin/mv/Makefile Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/bin/mv/Makefile Mon Dec 16 00:59:05 2013 (r259442) @@ -1,6 +1,12 @@ # @(#)Makefile 8.2 (Berkeley) 4/2/94 # $FreeBSD$ +.include + PROG= mv +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/altix2/bin/pax/Makefile ============================================================================== --- projects/altix2/bin/pax/Makefile Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/bin/pax/Makefile Mon Dec 16 00:59:05 2013 (r259442) @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + # To install on versions prior to BSD 4.4 the following may have to be # defined with CFLAGS += # @@ -30,4 +32,8 @@ SRCS= ar_io.c ar_subs.c buf_subs.c cache gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c \ tables.c tar.c tty_subs.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/altix2/bin/sh/Makefile ============================================================================== --- projects/altix2/bin/sh/Makefile Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/bin/sh/Makefile Mon Dec 16 00:59:05 2013 (r259442) @@ -1,6 +1,8 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 # $FreeBSD$ +.include + PROG= sh INSTALLFLAGS= -S SHSRCS= alias.c arith_yacc.c arith_yylex.c cd.c echo.c error.c eval.c \ @@ -59,7 +61,8 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens -regress: - cd ${.CURDIR}/../../tools/regression/bin/sh && ${MAKE} SH=${.OBJDIR}/sh +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include Modified: projects/altix2/bin/test/Makefile ============================================================================== --- projects/altix2/bin/test/Makefile Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/bin/test/Makefile Mon Dec 16 00:59:05 2013 (r259442) @@ -1,8 +1,14 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PROG= test LINKS= ${BINDIR}/test ${BINDIR}/[ MLINKS= test.1 [.1 +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/altix2/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/altix2/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Mon Dec 16 00:59:05 2013 (r259442) @@ -1702,6 +1702,12 @@ show_import(nvlist_t *config) "resilvered.\n")); break; + case ZPOOL_STATUS_NON_NATIVE_ASHIFT: + (void) printf(gettext("status: One or more devices were " + "configured to use a non-native block size.\n" + "\tExpect reduced performance.\n")); + break; + default: /* * No other status can be seen when importing pools. Modified: projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c ============================================================================== --- projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Mon Dec 16 00:59:05 2013 (r259442) @@ -995,10 +995,10 @@ nozpool_all_slices(avl_tree_t *r, const #endif /* sun */ } +#ifdef sun static void check_slices(avl_tree_t *r, int fd, const char *sname) { -#ifdef sun struct extvtoc vtoc; struct dk_gpt *gpt; char diskname[MAXNAMELEN]; @@ -1028,8 +1028,8 @@ check_slices(avl_tree_t *r, int fd, cons check_one_slice(r, diskname, i, 0, 1); efi_free(gpt); } -#endif /* sun */ } +#endif /* sun */ static void zpool_open_func(void *arg) @@ -1059,6 +1059,7 @@ zpool_open_func(void *arg) return; } /* this file is too small to hold a zpool */ +#ifdef sun if (S_ISREG(statbuf.st_mode) && statbuf.st_size < SPA_MINDEVSIZE) { (void) close(fd); @@ -1070,6 +1071,12 @@ zpool_open_func(void *arg) */ check_slices(rn->rn_avl, fd, rn->rn_name); } +#else /* !sun */ + if (statbuf.st_size < SPA_MINDEVSIZE) { + (void) close(fd); + return; + } +#endif /* sun */ if ((zpool_read_label(fd, &config)) != 0) { (void) close(fd); Modified: projects/altix2/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- projects/altix2/contrib/gcc/ChangeLog.gcc43 Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/gcc/ChangeLog.gcc43 Mon Dec 16 00:59:05 2013 (r259442) @@ -45,6 +45,12 @@ * flags.h (force_align_functions_log): Delete. * toplev.c (force_align_functions_log): Delete. +2007-06-28 Geoffrey Keating (r126088) + + * doc/invoke.texi (C++ Dialect Options): Document + fvisibility-ms-compat. + * c.opt (fvisibility-ms-compat): New. + 2007-06-05 Joerg Wunsch (r125346) PR preprocessor/23479 Modified: projects/altix2/contrib/gcc/c.opt ============================================================================== --- projects/altix2/contrib/gcc/c.opt Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/gcc/c.opt Mon Dec 16 00:59:05 2013 (r259442) @@ -741,6 +741,10 @@ fvisibility-inlines-hidden C++ ObjC++ Marks all inlined methods as having hidden visibility +fvisibility-ms-compat +C++ ObjC++ Var(flag_visibility_ms_compat) +Changes visibility to match Microsoft Visual Studio by default + fvtable-gc C++ ObjC++ Discard unused virtual functions Modified: projects/altix2/contrib/gcc/config/i386/emmintrin.h ============================================================================== --- projects/altix2/contrib/gcc/config/i386/emmintrin.h Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/gcc/config/i386/emmintrin.h Mon Dec 16 00:59:05 2013 (r259442) @@ -1126,9 +1126,9 @@ _mm_slli_epi64 (__m128i __A, int __B) #define _mm_slli_epi16(__A, __B) \ ((__m128i)__builtin_ia32_psllwi128 ((__v8hi)(__A), __B)) #define _mm_slli_epi32(__A, __B) \ - ((__m128i)__builtin_ia32_pslldi128 ((__v8hi)(__A), __B)) + ((__m128i)__builtin_ia32_pslldi128 ((__v4si)(__A), __B)) #define _mm_slli_epi64(__A, __B) \ - ((__m128i)__builtin_ia32_psllqi128 ((__v8hi)(__A), __B)) + ((__m128i)__builtin_ia32_psllqi128 ((__v2di)(__A), __B)) #endif #if 0 @@ -1147,7 +1147,7 @@ _mm_srai_epi32 (__m128i __A, int __B) #define _mm_srai_epi16(__A, __B) \ ((__m128i)__builtin_ia32_psrawi128 ((__v8hi)(__A), __B)) #define _mm_srai_epi32(__A, __B) \ - ((__m128i)__builtin_ia32_psradi128 ((__v8hi)(__A), __B)) + ((__m128i)__builtin_ia32_psradi128 ((__v4si)(__A), __B)) #endif #if 0 Modified: projects/altix2/contrib/gcc/cp/ChangeLog.gcc43 ============================================================================== --- projects/altix2/contrib/gcc/cp/ChangeLog.gcc43 Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/gcc/cp/ChangeLog.gcc43 Mon Dec 16 00:59:05 2013 (r259442) @@ -7,6 +7,13 @@ * typeck.c (cxx_alignof_expr): When alignof is used on a plain FUNCTION_DECL, return its alignment. +2007-06-28 Geoffrey Keating (r126088) + + * decl2.c (determine_visibility): Implement + flag_visibility_ms_compat effect on type info. + * decl.c (cxx_init_decl_processing): Implement + global effect of flag_visibility_ms_compat. + 2007-06-28 Geoffrey Keating (r126080) * decl2.c (start_objects): Mark constructor-runnning function Modified: projects/altix2/contrib/gcc/cp/decl.c ============================================================================== --- projects/altix2/contrib/gcc/cp/decl.c Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/gcc/cp/decl.c Mon Dec 16 00:59:05 2013 (r259442) @@ -3157,6 +3157,9 @@ cxx_init_decl_processing (void) } if (flag_inline_functions) flag_inline_trees = 2; + + if (flag_visibility_ms_compat) + default_visibility = VISIBILITY_HIDDEN; /* Initially, C. */ current_lang_name = lang_name_c; Modified: projects/altix2/contrib/gcc/cp/decl2.c ============================================================================== --- projects/altix2/contrib/gcc/cp/decl2.c Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/gcc/cp/decl2.c Mon Dec 16 00:59:05 2013 (r259442) @@ -1726,6 +1726,19 @@ determine_visibility (tree decl) but have no TEMPLATE_INFO, so don't try to check it. */ use_template = 0; } + else if (TREE_CODE (decl) == VAR_DECL && DECL_TINFO_P (decl) + && flag_visibility_ms_compat) + { + /* Under -fvisibility-ms-compat, types are visible by default, + even though their contents aren't. */ + tree underlying_type = TREE_TYPE (DECL_NAME (decl)); + int underlying_vis = type_visibility (underlying_type); + if (underlying_vis == VISIBILITY_ANON + || CLASSTYPE_VISIBILITY_SPECIFIED (underlying_type)) + constrain_visibility (decl, underlying_vis); + else + DECL_VISIBILITY (decl) = VISIBILITY_DEFAULT; + } else if (TREE_CODE (decl) == VAR_DECL && DECL_TINFO_P (decl)) { /* tinfo visibility is based on the type it's for. */ Modified: projects/altix2/contrib/gcc/doc/invoke.texi ============================================================================== --- projects/altix2/contrib/gcc/doc/invoke.texi Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/gcc/doc/invoke.texi Mon Dec 16 00:59:05 2013 (r259442) @@ -186,6 +186,7 @@ in the following sections. -frepo -fno-rtti -fstats -ftemplate-depth-@var{n} @gol -fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @gol -fno-default-inline -fvisibility-inlines-hidden @gol +-fvisibility-ms-compat @gol -Wabi -Wctor-dtor-privacy @gol -Wnon-virtual-dtor -Wreorder @gol -Weffc++ -Wno-deprecated -Wstrict-null-sentinel @gol @@ -1626,6 +1627,40 @@ Explicitly instantiated inline methods a as their linkage might otherwise cross a shared library boundary. @xref{Template Instantiation}. +@item -fvisibility-ms-compat +@opindex fvisibility-ms-compat +This flag attempts to use visibility settings to make GCC's C++ +linkage model compatible with that of Microsoft Visual Studio. + +The flag makes these changes to GCC's linkage model: + +@enumerate +@item +It sets the default visibility to @code{hidden}, like +@option{-fvisibility=hidden}. + +@item +Types, but not their members, are not hidden by default. + +@item +The One Definition Rule is relaxed for types without explicit +visibility specifications which are defined in more than one different +shared object: those declarations are permitted if they would have +been permitted when this option was not used. +@end enumerate + +In new code it is better to use @option{-fvisibility=hidden} and +export those classes which are intended to be externally visible. +Unfortunately it is possible for code to rely, perhaps accidentally, +on the Visual Studio behaviour. + +Among the consequences of these changes are that static data members +of the same type with the same name but defined in different shared +objects will be different, so changing one will not change the other; +and that pointers to function members defined in different shared +objects may not compare equal. When this flag is given, it is a +violation of the ODR to define types with the same name differently. + @item -fno-weak @opindex fno-weak Do not use weak symbol support, even if it is provided by the linker. Modified: projects/altix2/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp ============================================================================== --- projects/altix2/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp Mon Dec 16 00:59:05 2013 (r259442) @@ -454,10 +454,9 @@ void CodeGenVTables::EmitThunk(GlobalDec } else { // Normal thunk body generation. CodeGenFunction(CGM).GenerateThunk(ThunkFn, FnInfo, GD, Thunk); + if (UseAvailableExternallyLinkage) + ThunkFn->setLinkage(llvm::GlobalValue::AvailableExternallyLinkage); } - - if (UseAvailableExternallyLinkage) - ThunkFn->setLinkage(llvm::GlobalValue::AvailableExternallyLinkage); } void CodeGenVTables::MaybeEmitThunkAvailableExternally(GlobalDecl GD, Modified: projects/altix2/contrib/tcpdump/addrtoname.c ============================================================================== --- projects/altix2/contrib/tcpdump/addrtoname.c Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/tcpdump/addrtoname.c Mon Dec 16 00:59:05 2013 (r259442) @@ -32,6 +32,10 @@ static const char rcsid[] _U_ = #include "config.h" #endif +#ifdef __FreeBSD__ +#include +#include +#endif #include #ifdef USE_ETHER_NTOHOST @@ -203,6 +207,9 @@ intoa(u_int32_t addr) static u_int32_t f_netmask; static u_int32_t f_localnet; +#ifdef HAVE_LIBCAPSICUM +extern cap_channel_t *capdns; +#endif /* * Return a name for the IP address pointed to by ap. This address @@ -248,7 +255,13 @@ getname(const u_char *ap) */ if (!nflag && (addr & f_netmask) == f_localnet) { - hp = gethostbyaddr((char *)&addr, 4, AF_INET); +#ifdef HAVE_LIBCAPSICUM + if (capdns != NULL) { + hp = cap_gethostbyaddr(capdns, (char *)&addr, 4, + AF_INET); + } else +#endif + hp = gethostbyaddr((char *)&addr, 4, AF_INET); if (hp) { char *dotp; @@ -293,7 +306,13 @@ getname6(const u_char *ap) * Do not print names if -n was given. */ if (!nflag) { - hp = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET6); +#ifdef HAVE_LIBCAPSICUM + if (capdns != NULL) { + hp = cap_gethostbyaddr(capdns, (char *)&addr, + sizeof(addr), AF_INET6); + } else +#endif + hp = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET6); if (hp) { char *dotp; Modified: projects/altix2/contrib/tcpdump/tcpdump.c ============================================================================== --- projects/altix2/contrib/tcpdump/tcpdump.c Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/contrib/tcpdump/tcpdump.c Mon Dec 16 00:59:05 2013 (r259442) @@ -76,6 +76,12 @@ extern int SIZE_BUF; #include #include #include +#ifdef HAVE_LIBCAPSICUM +#include +#include +#include +#include +#endif /* HAVE_LIBCAPSICUM */ #endif /* __FreeBSD__ */ #ifndef WIN32 #include @@ -123,6 +129,10 @@ static int infoprint; char *program_name; +#ifdef HAVE_LIBCAPSICUM +cap_channel_t *capdns; +#endif + int32_t thiszone; /* seconds offset from gmt to local time */ /* Forwards */ @@ -684,6 +694,45 @@ get_next_file(FILE *VFile, char *ptr) return ret; } +#ifdef HAVE_LIBCAPSICUM +static cap_channel_t * +capdns_setup(void) +{ + cap_channel_t *capcas, *capdnsloc; + const char *types[1]; + int families[2]; + + capcas = cap_init(); + if (capcas == NULL) { + warning("unable to contact casperd"); + return (NULL); + } + capdnsloc = cap_service_open(capcas, "system.dns"); + /* Casper capability no longer needed. */ + cap_close(capcas); + if (capdnsloc == NULL) { + warning("unable to open system.dns service"); + return (NULL); + } + /* Limit system.dns to reverse DNS lookups. */ + types[0] = "ADDR"; + if (cap_dns_type_limit(capdnsloc, types, 1) < 0) { + warning("unable to limit access to system.dns service"); + cap_close(capdnsloc); + return (NULL); + } + families[0] = AF_INET; + families[1] = AF_INET6; + if (cap_dns_family_limit(capdnsloc, families, 2) < 0) { + warning("unable to limit access to system.dns service"); + cap_close(capdnsloc); + return (NULL); + } + + return (capdnsloc); +} +#endif /* HAVE_LIBCAPSICUM */ + int main(int argc, char **argv) { @@ -1417,6 +1466,12 @@ main(int argc, char **argv) free(cmdbuf); exit(0); } + +#ifdef HAVE_LIBCAPSICUM + if (!nflag) + capdns = capdns_setup(); +#endif /* HAVE_LIBCAPSICUM */ + init_addrtoname(localnet, netmask); init_checksum(); @@ -1615,7 +1670,12 @@ main(int argc, char **argv) #endif /* WIN32 */ #ifdef __FreeBSD__ - cansandbox = (nflag && VFileName == NULL && zflag == NULL); + cansandbox = (VFileName == NULL && zflag == NULL); +#ifdef HAVE_LIBCAPSICUM + cansandbox = (cansandbox && (nflag || capdns != NULL)); +#else + cansandbox = (cansandbox && nflag); +#endif if (cansandbox && cap_enter() < 0 && errno != ENOSYS) error("unable to enter the capability mode"); if (cap_sandboxed()) Modified: projects/altix2/crypto/heimdal/lib/gssapi/krb5/prf.c ============================================================================== --- projects/altix2/crypto/heimdal/lib/gssapi/krb5/prf.c Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/crypto/heimdal/lib/gssapi/krb5/prf.c Mon Dec 16 00:59:05 2013 (r259442) @@ -119,7 +119,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_ while(dol > 0) { size_t tsize; - _gsskrb5_encode_om_uint32(num, input.data); + _gsskrb5_encode_be_om_uint32(num, input.data); ret = krb5_crypto_prf(context, crypto, &input, &output); if (ret) { @@ -133,7 +133,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_ tsize = min(dol, output.length); memcpy(p, output.data, tsize); - p += output.length; + p += tsize; dol -= tsize; krb5_data_free(&output); num++; Modified: projects/altix2/etc/mtree/BSD.tests.dist ============================================================================== --- projects/altix2/etc/mtree/BSD.tests.dist Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/etc/mtree/BSD.tests.dist Mon Dec 16 00:59:05 2013 (r259442) @@ -20,6 +20,32 @@ .. .. tests + bin + date + .. + mv + .. + pax + .. + sh + builtins + .. + errors + .. + execution + .. + expansion + .. + parameters + .. + parser + .. + set-e + .. + .. + test + .. + .. lib atf libatf-c Modified: projects/altix2/etc/rc.d/jail ============================================================================== --- projects/altix2/etc/rc.d/jail Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/etc/rc.d/jail Mon Dec 16 00:59:05 2013 (r259442) @@ -319,8 +319,8 @@ jail_extract_address() _mask=${_mask:-/32} elif [ "${_type}" = "inet6" ]; then - # In case _maske is not set for IPv6, use /64. - _mask=${_mask:-/64} + # In case _maske is not set for IPv6, use /128. + _mask=${_mask:-/128} fi } Modified: projects/altix2/etc/syslog.conf ============================================================================== --- projects/altix2/etc/syslog.conf Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/etc/syslog.conf Mon Dec 16 00:59:05 2013 (r259442) @@ -30,7 +30,7 @@ cron.* /var/log/cron # news.notice /var/log/news/news.notice # Uncomment this if you wish to see messages produced by devd # !devd -# *.>=info /var/log/devd.log +# *.>=notice /var/log/devd.log !ppp *.* /var/log/ppp.log !* Modified: projects/altix2/games/fortune/datfiles/fortunes ============================================================================== --- projects/altix2/games/fortune/datfiles/fortunes Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/games/fortune/datfiles/fortunes Mon Dec 16 00:59:05 2013 (r259442) @@ -46677,7 +46677,7 @@ they had just discovered that he lived i taken another one of those damned Vermont winters!" % THE OLD POOL SHOOTER had won many a game in his life. But now it was time -to hang up the cue. When he did, all the other cues came crashing go the +to hang up the cue. When he did, all the other cues came crashing to the floor. "Sorry," he said with a smile. Modified: projects/altix2/include/rpcsvc/bootparam_prot.x ============================================================================== --- projects/altix2/include/rpcsvc/bootparam_prot.x Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/include/rpcsvc/bootparam_prot.x Mon Dec 16 00:59:05 2013 (r259442) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Modified: projects/altix2/include/rpcsvc/key_prot.x ============================================================================== --- projects/altix2/include/rpcsvc/key_prot.x Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/include/rpcsvc/key_prot.x Mon Dec 16 00:59:05 2013 (r259442) @@ -1,30 +1,32 @@ -%/* -% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -% * unrestricted use provided that this legend is included on all tape -% * media and as a part of the software program in whole or part. Users -% * may copy or modify Sun RPC without charge, but are not authorized -% * to license or distribute it to anyone else except as part of a product or -% * program developed by the user. +%/*- +% * Copyright (c) 2010, Oracle America, Inc. % * -% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. +% * Redistribution and use in source and binary forms, with or without +% * modification, are permitted provided that the following conditions are +% * met: % * -% * Sun RPC is provided with no support and without any obligation on the -% * part of Sun Microsystems, Inc. to assist in its use, correction, -% * modification or enhancement. +% * * Redistributions of source code must retain the above copyright +% * notice, this list of conditions and the following disclaimer. +% * * Redistributions in binary form must reproduce the above +% * copyright notice, this list of conditions and the following +% * disclaimer in the documentation and/or other materials +% * provided with the distribution. +% * * Neither the name of the "Oracle America, Inc." nor the names of its +% * contributors may be used to endorse or promote products derived +% * from this software without specific prior written permission. % * -% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -% * OR ANY PART THEREOF. -% * -% * In no event will Sun Microsystems, Inc. be liable for any lost revenue -% * or profits or other special, indirect and consequential damages, even if -% * Sun has been advised of the possibility of such damages. -% * -% * Sun Microsystems, Inc. -% * 2550 Garcia Avenue -% * Mountain View, California 94043 +% * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +% * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +% * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +% * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +% * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +% * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +% * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +% * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +% * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +% * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +% * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. % */ /* * Key server protocol definition Modified: projects/altix2/include/rpcsvc/klm_prot.x ============================================================================== --- projects/altix2/include/rpcsvc/klm_prot.x Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/include/rpcsvc/klm_prot.x Mon Dec 16 00:59:05 2013 (r259442) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Modified: projects/altix2/include/rpcsvc/mount.x ============================================================================== --- projects/altix2/include/rpcsvc/mount.x Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/include/rpcsvc/mount.x Mon Dec 16 00:59:05 2013 (r259442) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Modified: projects/altix2/include/rpcsvc/nfs_prot.x ============================================================================== --- projects/altix2/include/rpcsvc/nfs_prot.x Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/include/rpcsvc/nfs_prot.x Mon Dec 16 00:59:05 2013 (r259442) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef RPC_HDR Modified: projects/altix2/include/rpcsvc/nis.x ============================================================================== --- projects/altix2/include/rpcsvc/nis.x Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/include/rpcsvc/nis.x Mon Dec 16 00:59:05 2013 (r259442) @@ -1,31 +1,32 @@ -%/* -% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -% * unrestricted use provided that this legend is included on all tape -% * media and as a part of the software program in whole or part. Users -% * may copy or modify Sun RPC without charge, but are not authorized -% * to license or distribute it to anyone else except as part of a product or -% * program developed by the user or with the express written consent of -% * Sun Microsystems, Inc. -% * -% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. -% * -% * Sun RPC is provided with no support and without any obligation on the -% * part of Sun Microsystems, Inc. to assist in its use, correction, -% * modification or enhancement. +%/*- +% * Copyright (c) 2010, Oracle America, Inc. % * -% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -% * OR ANY PART THEREOF. +% * Redistribution and use in source and binary forms, with or without +% * modification, are permitted provided that the following conditions are +% * met: % * -% * In no event will Sun Microsystems, Inc. be liable for any lost revenue -% * or profits or other special, indirect and consequential damages, even if -% * Sun has been advised of the possibility of such damages. +% * * Redistributions of source code must retain the above copyright +% * notice, this list of conditions and the following disclaimer. +% * * Redistributions in binary form must reproduce the above +% * copyright notice, this list of conditions and the following +% * disclaimer in the documentation and/or other materials +% * provided with the distribution. +% * * Neither the name of the "Oracle America, Inc." nor the names of its +% * contributors may be used to endorse or promote products derived +% * from this software without specific prior written permission. % * -% * Sun Microsystems, Inc. -% * 2550 Garcia Avenue -% * Mountain View, California 94043 +% * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +% * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +% * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +% * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +% * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +% * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +% * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +% * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +% * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +% * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +% * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. % */ #ifndef RPC_HDR Modified: projects/altix2/include/rpcsvc/nis_callback.x ============================================================================== --- projects/altix2/include/rpcsvc/nis_callback.x Mon Dec 16 00:50:14 2013 (r259441) +++ projects/altix2/include/rpcsvc/nis_callback.x Mon Dec 16 00:59:05 2013 (r259442) @@ -1,31 +1,32 @@ -%/* -% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -% * unrestricted use provided that this legend is included on all tape -% * media and as a part of the software program in whole or part. Users -% * may copy or modify Sun RPC without charge, but are not authorized -% * to license or distribute it to anyone else except as part of a product or -% * program developed by the user or with the express written consent of -% * Sun Microsystems, Inc. +%/*- +% * Copyright (c) 2010, Oracle America, Inc. % * -% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. +% * Redistribution and use in source and binary forms, with or without +% * modification, are permitted provided that the following conditions are +% * met: % * -% * Sun RPC is provided with no support and without any obligation on the -% * part of Sun Microsystems, Inc. to assist in its use, correction, -% * modification or enhancement. +% * * Redistributions of source code must retain the above copyright +% * notice, this list of conditions and the following disclaimer. +% * * Redistributions in binary form must reproduce the above +% * copyright notice, this list of conditions and the following +% * disclaimer in the documentation and/or other materials +% * provided with the distribution. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Dec 16 22:26:27 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 18A5AEA7; Mon, 16 Dec 2013 22:26:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EC266147C; Mon, 16 Dec 2013 22:26:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBGMQQH7048259; Mon, 16 Dec 2013 22:26:26 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBGMQPna048254; Mon, 16 Dec 2013 22:26:25 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312162226.rBGMQPna048254@svn.freebsd.org> From: Andrew Turner Date: Mon, 16 Dec 2013 22:26:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259486 - in projects/specific_leg/sys/arm: arm include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Dec 2013 22:26:27 -0000 Author: andrew Date: Mon Dec 16 22:26:25 2013 New Revision: 259486 URL: http://svnweb.freebsd.org/changeset/base/259486 Log: Add support for runtime l2 cache type detection. Currently only correct for SoCs with a pl310 l2 cache. Other armv6+ SoCs don't appear to have any l2 cache operations defined. Modified: projects/specific_leg/sys/arm/arm/busdma_machdep-v6.c projects/specific_leg/sys/arm/arm/cpufunc.c projects/specific_leg/sys/arm/arm/pl310.c projects/specific_leg/sys/arm/arm/pmap-v6.c projects/specific_leg/sys/arm/include/pmap.h Modified: projects/specific_leg/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/specific_leg/sys/arm/arm/busdma_machdep-v6.c Mon Dec 16 22:07:49 2013 (r259485) +++ projects/specific_leg/sys/arm/arm/busdma_machdep-v6.c Mon Dec 16 22:26:25 2013 (r259486) @@ -1049,9 +1049,8 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } else { sl = &map->slist[map->sync_count - 1]; if (map->sync_count == 0 || -#ifdef ARM_L2_PIPT - curaddr != sl->busaddr + sl->datacount || -#endif + (l2cache_type == L2CACHE_PIPT && + curaddr != sl->busaddr + sl->datacount) || vaddr != sl->vaddr + sl->datacount) { if (++map->sync_count > dmat->nsegments) goto cleanup; @@ -1171,15 +1170,38 @@ _bus_dmamap_fix_user(vm_offset_t buf, bu } #endif -#ifdef ARM_L2_PIPT -#define l2cache_wb_range(va, pa, size) cpu_l2cache_wb_range(pa, size) -#define l2cache_wbinv_range(va, pa, size) cpu_l2cache_wbinv_range(pa, size) -#define l2cache_inv_range(va, pa, size) cpu_l2cache_inv_range(pa, size) -#else -#define l2cache_wb_range(va, pa, size) cpu_l2cache_wb_range(va, size) -#define l2cache_wbinv_range(va, pa, size) cpu_l2cache_wbinv_range(va, size) -#define l2cache_inv_range(va, pa, size) cpu_l2cache_inv_range(va, size) -#endif +static inline void +l2cache_wb_range(vm_offset_t va, vm_offset_t pa, vm_size_t size) +{ + if (l2cache_type == L2CACHE_UNKNOWN) + return; + if (l2cache_type == L2CACHE_PIPT) + cpu_l2cache_wb_range(pa, size); + else + cpu_l2cache_wb_range(va, size); +} + +static inline void +l2cache_wbinv_range(vm_offset_t va, vm_offset_t pa, vm_size_t size) +{ + if (l2cache_type == L2CACHE_UNKNOWN) + return; + if (l2cache_type == L2CACHE_PIPT) + cpu_l2cache_wbinv_range(pa, size); + else + cpu_l2cache_wbinv_range(va, size); +} + +static inline void +l2cache_inv_range(vm_offset_t va, vm_offset_t pa, vm_size_t size) +{ + if (l2cache_type == L2CACHE_UNKNOWN) + return; + if (l2cache_type == L2CACHE_PIPT) + cpu_l2cache_inv_range(pa, size); + else + cpu_l2cache_inv_range(va, size); +} void _bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) Modified: projects/specific_leg/sys/arm/arm/cpufunc.c ============================================================================== --- projects/specific_leg/sys/arm/arm/cpufunc.c Mon Dec 16 22:07:49 2013 (r259485) +++ projects/specific_leg/sys/arm/arm/cpufunc.c Mon Dec 16 22:26:25 2013 (r259486) @@ -1111,6 +1111,7 @@ struct cpu_functions cortexa_cpufuncs = struct cpu_functions cpufuncs; u_int cputype; u_int cpu_reset_needs_v4_MMU_disable; /* flag used in locore.s */ +l2cache l2cache_type = L2CACHE_UNKNOWN; #if defined(CPU_ARM7TDMI) || defined(CPU_ARM8) || defined(CPU_ARM9) || \ defined (CPU_ARM9E) || defined (CPU_ARM10) || defined (CPU_ARM1136) || \ Modified: projects/specific_leg/sys/arm/arm/pl310.c ============================================================================== --- projects/specific_leg/sys/arm/arm/pl310.c Mon Dec 16 22:07:49 2013 (r259485) +++ projects/specific_leg/sys/arm/arm/pl310.c Mon Dec 16 22:26:25 2013 (r259486) @@ -393,6 +393,7 @@ pl310_attach(device_t dev) cpufuncs.cf_l2cache_wbinv_range = pl310_wbinv_range; cpufuncs.cf_l2cache_inv_range = pl310_inv_range; cpufuncs.cf_l2cache_wb_range = pl310_wb_range; + l2cache_type = L2CACHE_PIPT; return (0); } Modified: projects/specific_leg/sys/arm/arm/pmap-v6.c ============================================================================== --- projects/specific_leg/sys/arm/arm/pmap-v6.c Mon Dec 16 22:07:49 2013 (r259485) +++ projects/specific_leg/sys/arm/arm/pmap-v6.c Mon Dec 16 22:26:25 2013 (r259486) @@ -206,13 +206,18 @@ int pmap_debug_level = 0; #define pa_to_pvh(pa) (&pv_table[pa_index(pa)]) -#ifdef ARM_L2_PIPT -#define pmap_l2cache_wbinv_range(va, pa, size) cpu_l2cache_wbinv_range((pa), (size)) -#define pmap_l2cache_inv_range(va, pa, size) cpu_l2cache_inv_range((pa), (size)) -#else -#define pmap_l2cache_wbinv_range(va, pa, size) cpu_l2cache_wbinv_range((va), (size)) -#define pmap_l2cache_inv_range(va, pa, size) cpu_l2cache_inv_range((va), (size)) -#endif +static void +pmap_l2cache_wbinv_range(vm_offset_t va, vm_offset_t pa, vm_size_t size) +{ + + if (l2cache_type == L2CACHE_UNKNOWN) + return; + + if (l2cache_type == L2CACHE_PIPT) + cpu_l2cache_wbinv_range(pa, size); + else + cpu_l2cache_wbinv_range(va, size); +} extern struct pv_addr systempage; Modified: projects/specific_leg/sys/arm/include/pmap.h ============================================================================== --- projects/specific_leg/sys/arm/include/pmap.h Mon Dec 16 22:07:49 2013 (r259485) +++ projects/specific_leg/sys/arm/include/pmap.h Mon Dec 16 22:26:25 2013 (r259486) @@ -52,6 +52,16 @@ #include #include + +typedef enum { + L2CACHE_UNKNOWN, + L2CACHE_VIVT, + L2CACHE_VIPT, + L2CACHE_PIPT, +} l2cache; + +extern l2cache l2cache_type; + /* * Pte related macros */ @@ -562,11 +572,14 @@ extern int pmap_needs_pte_sync; #define PMAP_INCLUDE_PTE_SYNC #endif -#ifdef ARM_L2_PIPT -#define _sync_l2(pte, size) cpu_l2cache_wb_range(vtophys(pte), size) -#else -#define _sync_l2(pte, size) cpu_l2cache_wb_range(pte, size) -#endif +#define _sync_l2(pte, size) \ +do { \ + vm_offset_t __pte = (pte); \ + \ + if (__pte == L2CACHE_PIPT) \ + __pte = vtophys(__pte); \ + cpu_l2cache_wb_range(__pte, size); \ +} while (0) #define PTE_SYNC(pte) \ do { \ From owner-svn-src-projects@FreeBSD.ORG Tue Dec 17 12:43:43 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7B5D040E; Tue, 17 Dec 2013 12:43:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 62DAE1E96; Tue, 17 Dec 2013 12:43:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBHChhpm062106; Tue, 17 Dec 2013 12:43:43 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBHChaXi062070; Tue, 17 Dec 2013 12:43:36 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201312171243.rBHChaXi062070@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 17 Dec 2013 12:43:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259504 - in projects/sendfile: . bin bin/date bin/date/tests bin/mv bin/mv/tests bin/pax bin/pax/tests bin/sh bin/sh/tests bin/test bin/test/tests bin/tests cddl/contrib/opensolaris/cm... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Dec 2013 12:43:43 -0000 Author: glebius Date: Tue Dec 17 12:43:35 2013 New Revision: 259504 URL: http://svnweb.freebsd.org/changeset/base/259504 Log: Merge head up to r259503. Added: projects/sendfile/bin/date/tests/ - copied from r259503, head/bin/date/tests/ projects/sendfile/bin/mv/tests/ - copied from r259503, head/bin/mv/tests/ projects/sendfile/bin/pax/tests/ - copied from r259503, head/bin/pax/tests/ projects/sendfile/bin/sh/tests/ - copied from r259503, head/bin/sh/tests/ projects/sendfile/bin/test/tests/ - copied from r259503, head/bin/test/tests/ projects/sendfile/bin/tests/ - copied from r259503, head/bin/tests/ projects/sendfile/etc/rc.d/casperd - copied unchanged from r259503, head/etc/rc.d/casperd projects/sendfile/lib/clang/include/PPCGenAsmMatcher.inc - copied unchanged from r259503, head/lib/clang/include/PPCGenAsmMatcher.inc projects/sendfile/lib/clang/libllvmpowerpcasmparser/ - copied from r259503, head/lib/clang/libllvmpowerpcasmparser/ projects/sendfile/release/scripts/FreeBSD_install_cdrom.conf - copied unchanged from r259503, head/release/scripts/FreeBSD_install_cdrom.conf projects/sendfile/share/mk/tap.test.mk - copied unchanged from r259503, head/share/mk/tap.test.mk projects/sendfile/sys/boot/fdt/dts/beri-netfpga.dts - copied unchanged from r259503, head/sys/boot/fdt/dts/beri-netfpga.dts projects/sendfile/sys/dev/netmap/netmap_freebsd.c - copied unchanged from r259503, head/sys/dev/netmap/netmap_freebsd.c projects/sendfile/sys/dev/netmap/netmap_generic.c - copied unchanged from r259503, head/sys/dev/netmap/netmap_generic.c projects/sendfile/sys/dev/netmap/netmap_mbq.c - copied unchanged from r259503, head/sys/dev/netmap/netmap_mbq.c projects/sendfile/sys/dev/netmap/netmap_mbq.h - copied unchanged from r259503, head/sys/dev/netmap/netmap_mbq.h projects/sendfile/sys/dev/netmap/netmap_vale.c - copied unchanged from r259503, head/sys/dev/netmap/netmap_vale.c projects/sendfile/sys/mips/conf/BERI_NETFPGA_MDROOT - copied unchanged from r259503, head/sys/mips/conf/BERI_NETFPGA_MDROOT projects/sendfile/sys/opencrypto/cryptodeflate.c - copied unchanged from r259503, head/sys/opencrypto/cryptodeflate.c projects/sendfile/sys/powerpc/cpufreq/pmufreq.c - copied unchanged from r259503, head/sys/powerpc/cpufreq/pmufreq.c projects/sendfile/tools/regression/usr.bin/sed/regress.icase4.out - copied unchanged from r259503, head/tools/regression/usr.bin/sed/regress.icase4.out projects/sendfile/tools/regression/usr.sbin/etcupdate/tzsetup.sh - copied unchanged from r259503, head/tools/regression/usr.sbin/etcupdate/tzsetup.sh projects/sendfile/usr.sbin/bhyve/bhyve.8 - copied unchanged from r259503, head/usr.sbin/bhyve/bhyve.8 Deleted: projects/sendfile/sys/i386/i386/symbols.raw projects/sendfile/sys/opencrypto/deflate.c projects/sendfile/tools/regression/bin/ Modified: projects/sendfile/ObsoleteFiles.inc projects/sendfile/UPDATING projects/sendfile/bin/Makefile projects/sendfile/bin/date/Makefile projects/sendfile/bin/mv/Makefile projects/sendfile/bin/pax/Makefile projects/sendfile/bin/sh/Makefile projects/sendfile/bin/test/Makefile projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c projects/sendfile/contrib/gcc/config/i386/emmintrin.h projects/sendfile/contrib/llvm/tools/clang/lib/Headers/cpuid.h projects/sendfile/contrib/tcpdump/addrtoname.c projects/sendfile/contrib/tcpdump/tcpdump.c projects/sendfile/contrib/tzcode/stdtime/tzfile.5 projects/sendfile/crypto/heimdal/lib/gssapi/krb5/prf.c projects/sendfile/etc/defaults/rc.conf projects/sendfile/etc/mtree/BSD.tests.dist projects/sendfile/etc/rc.d/Makefile projects/sendfile/etc/syslog.conf projects/sendfile/games/fortune/datfiles/fortunes projects/sendfile/include/rpcsvc/bootparam_prot.x projects/sendfile/include/rpcsvc/key_prot.x projects/sendfile/include/rpcsvc/klm_prot.x projects/sendfile/include/rpcsvc/mount.x projects/sendfile/include/rpcsvc/nfs_prot.x projects/sendfile/include/rpcsvc/nis.x projects/sendfile/include/rpcsvc/nis_callback.x projects/sendfile/include/rpcsvc/nis_object.x projects/sendfile/include/rpcsvc/nis_tags.h projects/sendfile/include/rpcsvc/rex.x projects/sendfile/include/rpcsvc/rnusers.x projects/sendfile/include/rpcsvc/rstat.x projects/sendfile/include/rpcsvc/sm_inter.x projects/sendfile/include/rpcsvc/spray.x projects/sendfile/include/rpcsvc/yp.x projects/sendfile/include/rpcsvc/yppasswd.x projects/sendfile/lib/clang/Makefile projects/sendfile/lib/clang/include/llvm/Config/AsmParsers.def projects/sendfile/lib/libc/stdlib/getopt_long.3 projects/sendfile/lib/libc/xdr/xdr.c projects/sendfile/lib/libc/xdr/xdr_array.c projects/sendfile/lib/libc/xdr/xdr_float.c projects/sendfile/lib/libc/xdr/xdr_mem.c projects/sendfile/lib/libc/xdr/xdr_rec.c projects/sendfile/lib/libc/xdr/xdr_reference.c projects/sendfile/lib/libc/xdr/xdr_sizeof.c projects/sendfile/lib/libc/xdr/xdr_stdio.c projects/sendfile/lib/libcam/Makefile projects/sendfile/lib/libnv/msgio.c projects/sendfile/lib/libnv/msgio.h projects/sendfile/lib/libnv/nvlist.c projects/sendfile/lib/libvmmapi/vmmapi.c projects/sendfile/lib/libvmmapi/vmmapi.h projects/sendfile/release/Makefile projects/sendfile/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/sendfile/release/picobsd/build/picobsd projects/sendfile/release/scripts/pkg-stage.sh projects/sendfile/sbin/casperd/casperd.8 projects/sendfile/sbin/casperd/zygote.c projects/sendfile/sbin/devd/devd.cc projects/sendfile/sbin/growfs/growfs.8 projects/sendfile/sbin/hastd/hastd.c projects/sendfile/sbin/hastd/nv.c projects/sendfile/sbin/hastd/primary.c projects/sendfile/sbin/hastd/proto.c projects/sendfile/sbin/hastd/secondary.c projects/sendfile/sbin/iscontrol/iscsi.conf.5 projects/sendfile/share/man/man4/netmap.4 projects/sendfile/share/misc/committers-ports.dot projects/sendfile/share/misc/committers-src.dot projects/sendfile/share/mk/Makefile projects/sendfile/share/mk/bsd.progs.mk projects/sendfile/sys/amd64/include/apicvar.h projects/sendfile/sys/amd64/include/vmm_dev.h (contents, props changed) projects/sendfile/sys/amd64/vmm/intel/vmx.c projects/sendfile/sys/amd64/vmm/io/ppt.c projects/sendfile/sys/amd64/vmm/io/ppt.h projects/sendfile/sys/amd64/vmm/io/vhpet.c projects/sendfile/sys/amd64/vmm/io/vioapic.c projects/sendfile/sys/amd64/vmm/io/vlapic.c projects/sendfile/sys/amd64/vmm/io/vlapic.h projects/sendfile/sys/amd64/vmm/vmm.c projects/sendfile/sys/amd64/vmm/vmm_dev.c projects/sendfile/sys/amd64/vmm/vmm_lapic.c projects/sendfile/sys/amd64/vmm/vmm_lapic.h projects/sendfile/sys/amd64/vmm/vmm_msr.c projects/sendfile/sys/amd64/vmm/vmm_msr.h projects/sendfile/sys/arm/arm/bus_space-v6.c projects/sendfile/sys/arm/at91/if_ate.c projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/sendfile/sys/arm/freescale/imx/files.imx51 projects/sendfile/sys/arm/freescale/imx/files.imx53 projects/sendfile/sys/arm/freescale/imx/files.imx6 projects/sendfile/sys/arm/mv/mv_pci.c projects/sendfile/sys/arm/rockchip/rk30xx_gpio.c projects/sendfile/sys/arm/ti/am335x/am335x_scm_padconf.c projects/sendfile/sys/arm/ti/files.ti projects/sendfile/sys/arm/ti/ti_i2c.c projects/sendfile/sys/arm/versatile/bus_space.c projects/sendfile/sys/arm/xilinx/zy7_bus_space.c projects/sendfile/sys/boot/fdt/dts/rk3188.dtsi projects/sendfile/sys/cam/cam.h projects/sendfile/sys/cam/cam_ccb.h projects/sendfile/sys/cam/cam_compat.c projects/sendfile/sys/cam/cam_compat.h projects/sendfile/sys/cam/scsi/scsi_all.c projects/sendfile/sys/cam/scsi/scsi_xpt.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c projects/sendfile/sys/conf/files projects/sendfile/sys/conf/files.powerpc projects/sendfile/sys/conf/kern.mk projects/sendfile/sys/conf/options projects/sendfile/sys/dev/ahci/ahciem.c projects/sendfile/sys/dev/an/if_an.c projects/sendfile/sys/dev/an/if_an_pccard.c projects/sendfile/sys/dev/cxgbe/common/common.h projects/sendfile/sys/dev/cxgbe/offload.h projects/sendfile/sys/dev/cxgbe/t4_main.c projects/sendfile/sys/dev/cxgbe/t4_sge.c projects/sendfile/sys/dev/cxgbe/tom/t4_cpl_io.c projects/sendfile/sys/dev/drm2/drmP.h projects/sendfile/sys/dev/drm2/drm_fb_helper.c projects/sendfile/sys/dev/hwpmc/hwpmc_powerpc.c projects/sendfile/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/sendfile/sys/dev/iscsi/iscsi.c projects/sendfile/sys/dev/iwn/if_iwn.c projects/sendfile/sys/dev/iwn/if_iwn_chip_cfg.h projects/sendfile/sys/dev/iwn/if_iwnreg.h projects/sendfile/sys/dev/md/md.c projects/sendfile/sys/dev/netmap/if_em_netmap.h projects/sendfile/sys/dev/netmap/if_igb_netmap.h projects/sendfile/sys/dev/netmap/if_lem_netmap.h projects/sendfile/sys/dev/netmap/if_re_netmap.h projects/sendfile/sys/dev/netmap/ixgbe_netmap.h projects/sendfile/sys/dev/netmap/netmap.c projects/sendfile/sys/dev/netmap/netmap_kern.h projects/sendfile/sys/dev/netmap/netmap_mem2.c projects/sendfile/sys/dev/netmap/netmap_mem2.h projects/sendfile/sys/dev/ofw/ofw_console.c projects/sendfile/sys/dev/ofw/ofw_fdt.c projects/sendfile/sys/dev/usb/controller/at91dci.c projects/sendfile/sys/dev/usb/controller/atmegadci.c projects/sendfile/sys/dev/usb/controller/avr32dci.c projects/sendfile/sys/dev/usb/controller/dwc_otg.c projects/sendfile/sys/dev/usb/controller/ehci.c projects/sendfile/sys/dev/usb/controller/musb_otg.c projects/sendfile/sys/dev/usb/controller/ohci.c projects/sendfile/sys/dev/usb/controller/uhci.c projects/sendfile/sys/dev/usb/controller/uss820dci.c projects/sendfile/sys/dev/usb/controller/xhci.c projects/sendfile/sys/dev/usb/template/usb_template.c projects/sendfile/sys/dev/usb/usb_bus.h projects/sendfile/sys/dev/usb/usb_device.c projects/sendfile/sys/dev/usb/usb_device.h projects/sendfile/sys/dev/usb/usb_hub.c projects/sendfile/sys/dev/usb/usb_transfer.c projects/sendfile/sys/dev/usb/usbdi.h projects/sendfile/sys/dev/vt/font/vt_mouse_cursor.c projects/sendfile/sys/dev/vt/vt.h projects/sendfile/sys/dev/vt/vt_buf.c projects/sendfile/sys/dev/vt/vt_core.c projects/sendfile/sys/dev/vt/vt_sysmouse.c projects/sendfile/sys/fs/devfs/devfs_devs.c projects/sendfile/sys/geom/eli/g_eli.c projects/sendfile/sys/geom/eli/g_eli_crypto.c projects/sendfile/sys/geom/geom_dev.c projects/sendfile/sys/i386/include/apicvar.h projects/sendfile/sys/ia64/ia64/pmap.c projects/sendfile/sys/kern/capabilities.conf projects/sendfile/sys/kern/init_sysent.c projects/sendfile/sys/kern/kern_clocksource.c projects/sendfile/sys/kern/kern_exit.c projects/sendfile/sys/kern/kern_resource.c projects/sendfile/sys/kern/makesyscalls.sh projects/sendfile/sys/kern/subr_vmem.c projects/sendfile/sys/kern/tty.c projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/sys/kern/vfs_bio.c projects/sendfile/sys/mips/beri/beri_machdep.c projects/sendfile/sys/mips/cavium/octe/cavium-ethernet.h projects/sendfile/sys/mips/cavium/octe/ethernet-mv88e61xx.c projects/sendfile/sys/modules/crypto/Makefile projects/sendfile/sys/modules/drm2/drm2/Makefile projects/sendfile/sys/modules/drm2/i915kms/Makefile projects/sendfile/sys/modules/drm2/radeonkms/Makefile projects/sendfile/sys/modules/iwnfw/iwn6000g2b/Makefile projects/sendfile/sys/modules/netmap/Makefile projects/sendfile/sys/modules/usb/Makefile projects/sendfile/sys/net/netmap.h projects/sendfile/sys/net/netmap_user.h projects/sendfile/sys/netinet6/send.c projects/sendfile/sys/ofed/drivers/net/mlx4/en_netdev.c projects/sendfile/sys/ofed/drivers/net/mlx4/mlx4_en.h projects/sendfile/sys/powerpc/aim/mp_cpudep.c projects/sendfile/sys/powerpc/aim/trap.c projects/sendfile/sys/powerpc/aim/trap_subr32.S projects/sendfile/sys/powerpc/aim/trap_subr64.S projects/sendfile/sys/powerpc/include/cpu.h projects/sendfile/sys/powerpc/include/dbdma.h projects/sendfile/sys/powerpc/include/pcpu.h projects/sendfile/sys/powerpc/include/pmc_mdep.h projects/sendfile/sys/powerpc/include/spr.h projects/sendfile/sys/powerpc/powermac/platform_powermac.c projects/sendfile/sys/powerpc/powermac/pmu.c projects/sendfile/sys/powerpc/powermac/pmuvar.h projects/sendfile/sys/powerpc/powermac/uninorth.c projects/sendfile/sys/powerpc/powermac/uninorthvar.h projects/sendfile/sys/powerpc/powermac/viareg.h projects/sendfile/sys/powerpc/powerpc/mp_machdep.c projects/sendfile/sys/powerpc/pseries/phyp_vscsi.c projects/sendfile/sys/sys/param.h projects/sendfile/sys/vm/vm_page.c projects/sendfile/sys/vm/vm_radix.c projects/sendfile/sys/vm/vm_radix.h projects/sendfile/sys/x86/acpica/madt.c projects/sendfile/sys/x86/cpufreq/est.c projects/sendfile/sys/x86/include/apicreg.h projects/sendfile/sys/x86/include/mptable.h projects/sendfile/sys/x86/x86/local_apic.c projects/sendfile/sys/x86/x86/mptable.c projects/sendfile/tools/regression/usr.bin/sed/regress.sh projects/sendfile/tools/regression/usr.sbin/etcupdate/preworld.sh projects/sendfile/tools/regression/usr.sbin/etcupdate/tests.sh projects/sendfile/usr.bin/calendar/calcpp.c projects/sendfile/usr.bin/clang/clang/Makefile projects/sendfile/usr.bin/clang/llc/Makefile projects/sendfile/usr.bin/clang/lldb/Makefile projects/sendfile/usr.bin/clang/llvm-mc/Makefile projects/sendfile/usr.bin/clang/llvm-objdump/Makefile projects/sendfile/usr.bin/clang/llvm-rtdyld/Makefile projects/sendfile/usr.bin/clang/opt/Makefile projects/sendfile/usr.bin/dtc/fdt.cc projects/sendfile/usr.bin/kdump/Makefile projects/sendfile/usr.bin/kdump/kdump.c projects/sendfile/usr.bin/sed/compile.c projects/sendfile/usr.bin/sed/sed.1 projects/sendfile/usr.sbin/bhyve/Makefile projects/sendfile/usr.sbin/bhyve/pci_emul.c projects/sendfile/usr.sbin/bhyve/pci_emul.h projects/sendfile/usr.sbin/bhyve/pci_passthru.c projects/sendfile/usr.sbin/bhyvectl/bhyvectl.c projects/sendfile/usr.sbin/bsdconfig/share/common.subr projects/sendfile/usr.sbin/bsdconfig/share/packages/index.subr projects/sendfile/usr.sbin/bsdinstall/bsdinstall projects/sendfile/usr.sbin/bsdinstall/scripts/auto projects/sendfile/usr.sbin/bsdinstall/scripts/config projects/sendfile/usr.sbin/bsdinstall/scripts/services projects/sendfile/usr.sbin/bsdinstall/scripts/zfsboot projects/sendfile/usr.sbin/ctld/login.c projects/sendfile/usr.sbin/etcupdate/etcupdate.8 projects/sendfile/usr.sbin/etcupdate/etcupdate.sh projects/sendfile/usr.sbin/mptable/mptable.c projects/sendfile/usr.sbin/mtest/mtest.8 projects/sendfile/usr.sbin/ndp/ndp.c projects/sendfile/usr.sbin/pkg/config.c projects/sendfile/usr.sbin/pkg/config.h projects/sendfile/usr.sbin/pkg/pkg.7 projects/sendfile/usr.sbin/tcpdump/tcpdump/Makefile projects/sendfile/usr.sbin/ypbind/yp_ping.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/cddl/ (props changed) projects/sendfile/cddl/contrib/opensolaris/ (props changed) projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/sendfile/contrib/gcc/ (props changed) projects/sendfile/contrib/llvm/ (props changed) projects/sendfile/contrib/llvm/tools/clang/ (props changed) projects/sendfile/contrib/tcpdump/ (props changed) projects/sendfile/contrib/tzcode/stdtime/ (props changed) projects/sendfile/crypto/heimdal/ (props changed) projects/sendfile/etc/ (props changed) projects/sendfile/include/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/lib/libvmmapi/ (props changed) projects/sendfile/sbin/ (props changed) projects/sendfile/share/man/man4/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/amd64/vmm/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/sys/cddl/contrib/opensolaris/ (props changed) projects/sendfile/sys/conf/ (props changed) projects/sendfile/sys/dev/hyperv/ (props changed) projects/sendfile/usr.bin/calendar/ (props changed) projects/sendfile/usr.sbin/bhyve/ (props changed) projects/sendfile/usr.sbin/bhyvectl/ (props changed) Modified: projects/sendfile/ObsoleteFiles.inc ============================================================================== --- projects/sendfile/ObsoleteFiles.inc Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/ObsoleteFiles.inc Tue Dec 17 12:43:35 2013 (r259504) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20131215: libcam version bumped +OLD_LIBS+=lib/libcam.so.6 usr/lib32/libcam.so.6 # 20131202: libcapsicum and libcasper moved to /lib/ OLD_LIBS+=usr/lib/libcapsicum.so.0 OLD_LIBS+=usr/lib/libcasper.so.0 Modified: projects/sendfile/UPDATING ============================================================================== --- projects/sendfile/UPDATING Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/UPDATING Tue Dec 17 12:43:35 2013 (r259504) @@ -31,6 +31,17 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20131213: + The behavior of gss_pseudo_random() for the krb5 mechanism + has changed, for applications requesting a longer random string + than produced by the underlying enctype's pseudo-random() function. + In particular, the random string produced from a session key of + enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will + be different at the 17th octet and later, after this change. + The counter used in the PRF+ construction is now encoded as a + big-endian integer in accordance with RFC 4402. + __FreeBSD_version is bumped to 1100004. + 20131108: The WITHOUT_ATF build knob has been removed and its functionality has been subsumed into the more generic WITHOUT_TESTS. If you were Modified: projects/sendfile/bin/Makefile ============================================================================== --- projects/sendfile/bin/Makefile Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/bin/Makefile Tue Dec 17 12:43:35 2013 (r259504) @@ -52,6 +52,10 @@ SUBDIR+= rmail SUBDIR+= csh .endif +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include SUBDIR:= ${SUBDIR:O} Modified: projects/sendfile/bin/date/Makefile ============================================================================== --- projects/sendfile/bin/date/Makefile Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/bin/date/Makefile Tue Dec 17 12:43:35 2013 (r259504) @@ -1,7 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PROG= date SRCS= date.c netdate.c vary.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/sendfile/bin/mv/Makefile ============================================================================== --- projects/sendfile/bin/mv/Makefile Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/bin/mv/Makefile Tue Dec 17 12:43:35 2013 (r259504) @@ -1,6 +1,12 @@ # @(#)Makefile 8.2 (Berkeley) 4/2/94 # $FreeBSD$ +.include + PROG= mv +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/sendfile/bin/pax/Makefile ============================================================================== --- projects/sendfile/bin/pax/Makefile Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/bin/pax/Makefile Tue Dec 17 12:43:35 2013 (r259504) @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + # To install on versions prior to BSD 4.4 the following may have to be # defined with CFLAGS += # @@ -30,4 +32,8 @@ SRCS= ar_io.c ar_subs.c buf_subs.c cache gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c \ tables.c tar.c tty_subs.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/sendfile/bin/sh/Makefile ============================================================================== --- projects/sendfile/bin/sh/Makefile Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/bin/sh/Makefile Tue Dec 17 12:43:35 2013 (r259504) @@ -1,6 +1,8 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 # $FreeBSD$ +.include + PROG= sh INSTALLFLAGS= -S SHSRCS= alias.c arith_yacc.c arith_yylex.c cd.c echo.c error.c eval.c \ @@ -59,7 +61,8 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens -regress: - cd ${.CURDIR}/../../tools/regression/bin/sh && ${MAKE} SH=${.OBJDIR}/sh +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include Modified: projects/sendfile/bin/test/Makefile ============================================================================== --- projects/sendfile/bin/test/Makefile Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/bin/test/Makefile Tue Dec 17 12:43:35 2013 (r259504) @@ -1,8 +1,14 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PROG= test LINKS= ${BINDIR}/test ${BINDIR}/[ MLINKS= test.1 [.1 +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Dec 17 12:43:35 2013 (r259504) @@ -1702,6 +1702,12 @@ show_import(nvlist_t *config) "resilvered.\n")); break; + case ZPOOL_STATUS_NON_NATIVE_ASHIFT: + (void) printf(gettext("status: One or more devices were " + "configured to use a non-native block size.\n" + "\tExpect reduced performance.\n")); + break; + default: /* * No other status can be seen when importing pools. Modified: projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Tue Dec 17 12:43:35 2013 (r259504) @@ -995,10 +995,10 @@ nozpool_all_slices(avl_tree_t *r, const #endif /* sun */ } +#ifdef sun static void check_slices(avl_tree_t *r, int fd, const char *sname) { -#ifdef sun struct extvtoc vtoc; struct dk_gpt *gpt; char diskname[MAXNAMELEN]; @@ -1028,8 +1028,8 @@ check_slices(avl_tree_t *r, int fd, cons check_one_slice(r, diskname, i, 0, 1); efi_free(gpt); } -#endif /* sun */ } +#endif /* sun */ static void zpool_open_func(void *arg) @@ -1059,6 +1059,7 @@ zpool_open_func(void *arg) return; } /* this file is too small to hold a zpool */ +#ifdef sun if (S_ISREG(statbuf.st_mode) && statbuf.st_size < SPA_MINDEVSIZE) { (void) close(fd); @@ -1070,6 +1071,12 @@ zpool_open_func(void *arg) */ check_slices(rn->rn_avl, fd, rn->rn_name); } +#else /* !sun */ + if (statbuf.st_size < SPA_MINDEVSIZE) { + (void) close(fd); + return; + } +#endif /* sun */ if ((zpool_read_label(fd, &config)) != 0) { (void) close(fd); Modified: projects/sendfile/contrib/gcc/config/i386/emmintrin.h ============================================================================== --- projects/sendfile/contrib/gcc/config/i386/emmintrin.h Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/contrib/gcc/config/i386/emmintrin.h Tue Dec 17 12:43:35 2013 (r259504) @@ -1126,9 +1126,9 @@ _mm_slli_epi64 (__m128i __A, int __B) #define _mm_slli_epi16(__A, __B) \ ((__m128i)__builtin_ia32_psllwi128 ((__v8hi)(__A), __B)) #define _mm_slli_epi32(__A, __B) \ - ((__m128i)__builtin_ia32_pslldi128 ((__v8hi)(__A), __B)) + ((__m128i)__builtin_ia32_pslldi128 ((__v4si)(__A), __B)) #define _mm_slli_epi64(__A, __B) \ - ((__m128i)__builtin_ia32_psllqi128 ((__v8hi)(__A), __B)) + ((__m128i)__builtin_ia32_psllqi128 ((__v2di)(__A), __B)) #endif #if 0 @@ -1147,7 +1147,7 @@ _mm_srai_epi32 (__m128i __A, int __B) #define _mm_srai_epi16(__A, __B) \ ((__m128i)__builtin_ia32_psrawi128 ((__v8hi)(__A), __B)) #define _mm_srai_epi32(__A, __B) \ - ((__m128i)__builtin_ia32_psradi128 ((__v8hi)(__A), __B)) + ((__m128i)__builtin_ia32_psradi128 ((__v4si)(__A), __B)) #endif #if 0 Modified: projects/sendfile/contrib/llvm/tools/clang/lib/Headers/cpuid.h ============================================================================== --- projects/sendfile/contrib/llvm/tools/clang/lib/Headers/cpuid.h Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/contrib/llvm/tools/clang/lib/Headers/cpuid.h Tue Dec 17 12:43:35 2013 (r259504) @@ -79,6 +79,7 @@ #define bit_ACPI 0x00400000 #define bit_MMX 0x00800000 #define bit_FXSR 0x01000000 +#define bit_FXSAVE bit_FXSR /* for gcc compat */ #define bit_SSE 0x02000000 #define bit_SSE2 0x04000000 #define bit_SS 0x08000000 Modified: projects/sendfile/contrib/tcpdump/addrtoname.c ============================================================================== --- projects/sendfile/contrib/tcpdump/addrtoname.c Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/contrib/tcpdump/addrtoname.c Tue Dec 17 12:43:35 2013 (r259504) @@ -32,6 +32,10 @@ static const char rcsid[] _U_ = #include "config.h" #endif +#ifdef __FreeBSD__ +#include +#include +#endif #include #ifdef USE_ETHER_NTOHOST @@ -203,6 +207,9 @@ intoa(u_int32_t addr) static u_int32_t f_netmask; static u_int32_t f_localnet; +#ifdef HAVE_LIBCAPSICUM +extern cap_channel_t *capdns; +#endif /* * Return a name for the IP address pointed to by ap. This address @@ -248,7 +255,13 @@ getname(const u_char *ap) */ if (!nflag && (addr & f_netmask) == f_localnet) { - hp = gethostbyaddr((char *)&addr, 4, AF_INET); +#ifdef HAVE_LIBCAPSICUM + if (capdns != NULL) { + hp = cap_gethostbyaddr(capdns, (char *)&addr, 4, + AF_INET); + } else +#endif + hp = gethostbyaddr((char *)&addr, 4, AF_INET); if (hp) { char *dotp; @@ -293,7 +306,13 @@ getname6(const u_char *ap) * Do not print names if -n was given. */ if (!nflag) { - hp = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET6); +#ifdef HAVE_LIBCAPSICUM + if (capdns != NULL) { + hp = cap_gethostbyaddr(capdns, (char *)&addr, + sizeof(addr), AF_INET6); + } else +#endif + hp = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET6); if (hp) { char *dotp; Modified: projects/sendfile/contrib/tcpdump/tcpdump.c ============================================================================== --- projects/sendfile/contrib/tcpdump/tcpdump.c Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/contrib/tcpdump/tcpdump.c Tue Dec 17 12:43:35 2013 (r259504) @@ -76,6 +76,12 @@ extern int SIZE_BUF; #include #include #include +#ifdef HAVE_LIBCAPSICUM +#include +#include +#include +#include +#endif /* HAVE_LIBCAPSICUM */ #endif /* __FreeBSD__ */ #ifndef WIN32 #include @@ -123,6 +129,10 @@ static int infoprint; char *program_name; +#ifdef HAVE_LIBCAPSICUM +cap_channel_t *capdns; +#endif + int32_t thiszone; /* seconds offset from gmt to local time */ /* Forwards */ @@ -684,6 +694,45 @@ get_next_file(FILE *VFile, char *ptr) return ret; } +#ifdef HAVE_LIBCAPSICUM +static cap_channel_t * +capdns_setup(void) +{ + cap_channel_t *capcas, *capdnsloc; + const char *types[1]; + int families[2]; + + capcas = cap_init(); + if (capcas == NULL) { + warning("unable to contact casperd"); + return (NULL); + } + capdnsloc = cap_service_open(capcas, "system.dns"); + /* Casper capability no longer needed. */ + cap_close(capcas); + if (capdnsloc == NULL) { + warning("unable to open system.dns service"); + return (NULL); + } + /* Limit system.dns to reverse DNS lookups. */ + types[0] = "ADDR"; + if (cap_dns_type_limit(capdnsloc, types, 1) < 0) { + warning("unable to limit access to system.dns service"); + cap_close(capdnsloc); + return (NULL); + } + families[0] = AF_INET; + families[1] = AF_INET6; + if (cap_dns_family_limit(capdnsloc, families, 2) < 0) { + warning("unable to limit access to system.dns service"); + cap_close(capdnsloc); + return (NULL); + } + + return (capdnsloc); +} +#endif /* HAVE_LIBCAPSICUM */ + int main(int argc, char **argv) { @@ -1417,6 +1466,12 @@ main(int argc, char **argv) free(cmdbuf); exit(0); } + +#ifdef HAVE_LIBCAPSICUM + if (!nflag) + capdns = capdns_setup(); +#endif /* HAVE_LIBCAPSICUM */ + init_addrtoname(localnet, netmask); init_checksum(); @@ -1615,7 +1670,12 @@ main(int argc, char **argv) #endif /* WIN32 */ #ifdef __FreeBSD__ - cansandbox = (nflag && VFileName == NULL && zflag == NULL); + cansandbox = (VFileName == NULL && zflag == NULL); +#ifdef HAVE_LIBCAPSICUM + cansandbox = (cansandbox && (nflag || capdns != NULL)); +#else + cansandbox = (cansandbox && nflag); +#endif if (cansandbox && cap_enter() < 0 && errno != ENOSYS) error("unable to enter the capability mode"); if (cap_sandboxed()) Modified: projects/sendfile/contrib/tzcode/stdtime/tzfile.5 ============================================================================== --- projects/sendfile/contrib/tzcode/stdtime/tzfile.5 Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/contrib/tzcode/stdtime/tzfile.5 Tue Dec 17 12:43:35 2013 (r259504) @@ -6,7 +6,7 @@ .Nm tzfile .Nd timezone information .Sh SYNOPSIS -.Fd #include \&"/usr/src/lib/libc/stdtime/tzfile.h\&" +.Fd #include \&"/usr/src/contrib/tzcode/stdtime/tzfile.h\&" .Sh DESCRIPTION The time zone information files used by .Xr tzset 3 Modified: projects/sendfile/crypto/heimdal/lib/gssapi/krb5/prf.c ============================================================================== --- projects/sendfile/crypto/heimdal/lib/gssapi/krb5/prf.c Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/crypto/heimdal/lib/gssapi/krb5/prf.c Tue Dec 17 12:43:35 2013 (r259504) @@ -119,7 +119,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_ while(dol > 0) { size_t tsize; - _gsskrb5_encode_om_uint32(num, input.data); + _gsskrb5_encode_be_om_uint32(num, input.data); ret = krb5_crypto_prf(context, crypto, &input, &output); if (ret) { @@ -133,7 +133,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_ tsize = min(dol, output.length); memcpy(p, output.data, tsize); - p += output.length; + p += tsize; dol -= tsize; krb5_data_free(&output); num++; Modified: projects/sendfile/etc/defaults/rc.conf ============================================================================== --- projects/sendfile/etc/defaults/rc.conf Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/etc/defaults/rc.conf Tue Dec 17 12:43:35 2013 (r259504) @@ -658,6 +658,7 @@ newsyslog_enable="YES" # Run newsyslog a newsyslog_flags="-CN" # Newsyslog flags to create marked files mixer_enable="YES" # Run the sound mixer. opensm_enable="NO" # Opensm(8) for infiniband devices defaults to off +casperd_enable="NO" # casperd(8) daemon ############################################################## ### Jail Configuration (see rc.conf(5) manual page) ########## Modified: projects/sendfile/etc/mtree/BSD.tests.dist ============================================================================== --- projects/sendfile/etc/mtree/BSD.tests.dist Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/etc/mtree/BSD.tests.dist Tue Dec 17 12:43:35 2013 (r259504) @@ -20,6 +20,32 @@ .. .. tests + bin + date + .. + mv + .. + pax + .. + sh + builtins + .. + errors + .. + execution + .. + expansion + .. + parameters + .. + parser + .. + set-e + .. + .. + test + .. + .. lib atf libatf-c Modified: projects/sendfile/etc/rc.d/Makefile ============================================================================== --- projects/sendfile/etc/rc.d/Makefile Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/etc/rc.d/Makefile Tue Dec 17 12:43:35 2013 (r259504) @@ -26,6 +26,7 @@ FILES= DAEMON \ bridge \ bsnmpd \ ${_bthidd} \ + casperd \ ccd \ cleanvar \ cleartmp \ Copied: projects/sendfile/etc/rc.d/casperd (from r259503, head/etc/rc.d/casperd) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/etc/rc.d/casperd Tue Dec 17 12:43:35 2013 (r259504, copy of r259503, head/etc/rc.d/casperd) @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: casperd +# REQUIRE: NETWORKING syslogd +# BEFORE: DAEMON +# KEYWORD: shutdown + +. /etc/rc.subr + +name="casperd" +rcvar="casperd_enable" +pidfile="/var/run/${name}.pid" +command="/sbin/${name}" + +load_rc_config $name +run_rc_command "$1" Modified: projects/sendfile/etc/syslog.conf ============================================================================== --- projects/sendfile/etc/syslog.conf Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/etc/syslog.conf Tue Dec 17 12:43:35 2013 (r259504) @@ -30,7 +30,7 @@ cron.* /var/log/cron # news.notice /var/log/news/news.notice # Uncomment this if you wish to see messages produced by devd # !devd -# *.>=info /var/log/devd.log +# *.>=notice /var/log/devd.log !ppp *.* /var/log/ppp.log !* Modified: projects/sendfile/games/fortune/datfiles/fortunes ============================================================================== --- projects/sendfile/games/fortune/datfiles/fortunes Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/games/fortune/datfiles/fortunes Tue Dec 17 12:43:35 2013 (r259504) @@ -46677,7 +46677,7 @@ they had just discovered that he lived i taken another one of those damned Vermont winters!" % THE OLD POOL SHOOTER had won many a game in his life. But now it was time -to hang up the cue. When he did, all the other cues came crashing go the +to hang up the cue. When he did, all the other cues came crashing to the floor. "Sorry," he said with a smile. Modified: projects/sendfile/include/rpcsvc/bootparam_prot.x ============================================================================== --- projects/sendfile/include/rpcsvc/bootparam_prot.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/bootparam_prot.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Modified: projects/sendfile/include/rpcsvc/key_prot.x ============================================================================== --- projects/sendfile/include/rpcsvc/key_prot.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/key_prot.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,30 +1,32 @@ -%/* -% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -% * unrestricted use provided that this legend is included on all tape -% * media and as a part of the software program in whole or part. Users -% * may copy or modify Sun RPC without charge, but are not authorized -% * to license or distribute it to anyone else except as part of a product or -% * program developed by the user. +%/*- +% * Copyright (c) 2010, Oracle America, Inc. % * -% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. +% * Redistribution and use in source and binary forms, with or without +% * modification, are permitted provided that the following conditions are +% * met: % * -% * Sun RPC is provided with no support and without any obligation on the -% * part of Sun Microsystems, Inc. to assist in its use, correction, -% * modification or enhancement. +% * * Redistributions of source code must retain the above copyright +% * notice, this list of conditions and the following disclaimer. +% * * Redistributions in binary form must reproduce the above +% * copyright notice, this list of conditions and the following +% * disclaimer in the documentation and/or other materials +% * provided with the distribution. +% * * Neither the name of the "Oracle America, Inc." nor the names of its +% * contributors may be used to endorse or promote products derived +% * from this software without specific prior written permission. % * -% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -% * OR ANY PART THEREOF. -% * -% * In no event will Sun Microsystems, Inc. be liable for any lost revenue -% * or profits or other special, indirect and consequential damages, even if -% * Sun has been advised of the possibility of such damages. -% * -% * Sun Microsystems, Inc. -% * 2550 Garcia Avenue -% * Mountain View, California 94043 +% * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +% * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +% * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +% * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +% * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +% * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +% * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +% * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +% * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +% * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +% * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. % */ /* * Key server protocol definition Modified: projects/sendfile/include/rpcsvc/klm_prot.x ============================================================================== --- projects/sendfile/include/rpcsvc/klm_prot.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/klm_prot.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Modified: projects/sendfile/include/rpcsvc/mount.x ============================================================================== --- projects/sendfile/include/rpcsvc/mount.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/mount.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Modified: projects/sendfile/include/rpcsvc/nfs_prot.x ============================================================================== --- projects/sendfile/include/rpcsvc/nfs_prot.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/nfs_prot.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,30 +1,32 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 +/*- + * Copyright (c) 2010, Oracle America, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef RPC_HDR Modified: projects/sendfile/include/rpcsvc/nis.x ============================================================================== --- projects/sendfile/include/rpcsvc/nis.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/nis.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,31 +1,32 @@ -%/* -% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -% * unrestricted use provided that this legend is included on all tape -% * media and as a part of the software program in whole or part. Users -% * may copy or modify Sun RPC without charge, but are not authorized -% * to license or distribute it to anyone else except as part of a product or -% * program developed by the user or with the express written consent of -% * Sun Microsystems, Inc. -% * -% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. -% * -% * Sun RPC is provided with no support and without any obligation on the -% * part of Sun Microsystems, Inc. to assist in its use, correction, -% * modification or enhancement. +%/*- +% * Copyright (c) 2010, Oracle America, Inc. % * -% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -% * OR ANY PART THEREOF. +% * Redistribution and use in source and binary forms, with or without +% * modification, are permitted provided that the following conditions are +% * met: % * -% * In no event will Sun Microsystems, Inc. be liable for any lost revenue -% * or profits or other special, indirect and consequential damages, even if -% * Sun has been advised of the possibility of such damages. +% * * Redistributions of source code must retain the above copyright +% * notice, this list of conditions and the following disclaimer. +% * * Redistributions in binary form must reproduce the above +% * copyright notice, this list of conditions and the following +% * disclaimer in the documentation and/or other materials +% * provided with the distribution. +% * * Neither the name of the "Oracle America, Inc." nor the names of its +% * contributors may be used to endorse or promote products derived +% * from this software without specific prior written permission. % * -% * Sun Microsystems, Inc. -% * 2550 Garcia Avenue -% * Mountain View, California 94043 +% * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +% * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +% * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +% * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +% * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +% * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +% * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +% * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +% * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +% * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +% * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. % */ #ifndef RPC_HDR Modified: projects/sendfile/include/rpcsvc/nis_callback.x ============================================================================== --- projects/sendfile/include/rpcsvc/nis_callback.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/nis_callback.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,31 +1,32 @@ -%/* -% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -% * unrestricted use provided that this legend is included on all tape -% * media and as a part of the software program in whole or part. Users -% * may copy or modify Sun RPC without charge, but are not authorized -% * to license or distribute it to anyone else except as part of a product or -% * program developed by the user or with the express written consent of -% * Sun Microsystems, Inc. +%/*- +% * Copyright (c) 2010, Oracle America, Inc. % * -% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. +% * Redistribution and use in source and binary forms, with or without +% * modification, are permitted provided that the following conditions are +% * met: % * -% * Sun RPC is provided with no support and without any obligation on the -% * part of Sun Microsystems, Inc. to assist in its use, correction, -% * modification or enhancement. +% * * Redistributions of source code must retain the above copyright +% * notice, this list of conditions and the following disclaimer. +% * * Redistributions in binary form must reproduce the above +% * copyright notice, this list of conditions and the following +% * disclaimer in the documentation and/or other materials +% * provided with the distribution. +% * * Neither the name of the "Oracle America, Inc." nor the names of its +% * contributors may be used to endorse or promote products derived +% * from this software without specific prior written permission. % * -% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -% * OR ANY PART THEREOF. -% * -% * In no event will Sun Microsystems, Inc. be liable for any lost revenue -% * or profits or other special, indirect and consequential damages, even if -% * Sun has been advised of the possibility of such damages. -% * -% * Sun Microsystems, Inc. -% * 2550 Garcia Avenue -% * Mountain View, California 94043 +% * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +% * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +% * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +% * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +% * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +% * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +% * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +% * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +% * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +% * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +% * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. % */ /* Modified: projects/sendfile/include/rpcsvc/nis_object.x ============================================================================== --- projects/sendfile/include/rpcsvc/nis_object.x Tue Dec 17 10:53:17 2013 (r259503) +++ projects/sendfile/include/rpcsvc/nis_object.x Tue Dec 17 12:43:35 2013 (r259504) @@ -1,31 +1,32 @@ -%/* -% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for -% * unrestricted use provided that this legend is included on all tape -% * media and as a part of the software program in whole or part. Users -% * may copy or modify Sun RPC without charge, but are not authorized -% * to license or distribute it to anyone else except as part of a product or -% * program developed by the user or with the express written consent of -% * Sun Microsystems, Inc. +%/*- +% * Copyright (c) 2010, Oracle America, Inc. % * -% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE -% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. +% * Redistribution and use in source and binary forms, with or without +% * modification, are permitted provided that the following conditions are +% * met: % * -% * Sun RPC is provided with no support and without any obligation on the -% * part of Sun Microsystems, Inc. to assist in its use, correction, -% * modification or enhancement. +% * * Redistributions of source code must retain the above copyright +% * notice, this list of conditions and the following disclaimer. +% * * Redistributions in binary form must reproduce the above +% * copyright notice, this list of conditions and the following +% * disclaimer in the documentation and/or other materials +% * provided with the distribution. +% * * Neither the name of the "Oracle America, Inc." nor the names of its +% * contributors may be used to endorse or promote products derived +% * from this software without specific prior written permission. % * -% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE -% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC -% * OR ANY PART THEREOF. -% * -% * In no event will Sun Microsystems, Inc. be liable for any lost revenue -% * or profits or other special, indirect and consequential damages, even if -% * Sun has been advised of the possibility of such damages. -% * -% * Sun Microsystems, Inc. -% * 2550 Garcia Avenue -% * Mountain View, California 94043 +% * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +% * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +% * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +% * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +% * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +% * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +% * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +% * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +% * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +% * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +% * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +% * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. % */ /* @@ -35,6 +36,7 @@ * All Rights Reserved. */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Dec 17 13:02:24 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 770039E6; Tue, 17 Dec 2013 13:02:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 63B441006; Tue, 17 Dec 2013 13:02:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBHD2ON7069227; Tue, 17 Dec 2013 13:02:24 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBHD2OPB069225; Tue, 17 Dec 2013 13:02:24 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312171302.rBHD2OPB069225@svn.freebsd.org> From: Andrew Turner Date: Tue, 17 Dec 2013 13:02:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259505 - projects/specific_leg/sys/arm/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Dec 2013 13:02:24 -0000 Author: andrew Date: Tue Dec 17 13:02:23 2013 New Revision: 259505 URL: http://svnweb.freebsd.org/changeset/base/259505 Log: Move the L2 cache definitions to cpufunc as they are not pmap related. Modified: projects/specific_leg/sys/arm/include/cpufunc.h projects/specific_leg/sys/arm/include/pmap.h Modified: projects/specific_leg/sys/arm/include/cpufunc.h ============================================================================== --- projects/specific_leg/sys/arm/include/cpufunc.h Tue Dec 17 12:43:35 2013 (r259504) +++ projects/specific_leg/sys/arm/include/cpufunc.h Tue Dec 17 13:02:23 2013 (r259505) @@ -56,6 +56,15 @@ breakpoint(void) __asm(".word 0xe7ffffff"); } +typedef enum { + L2CACHE_UNKNOWN, + L2CACHE_VIVT, + L2CACHE_VIPT, + L2CACHE_PIPT, +} l2cache; + +extern l2cache l2cache_type; + struct cpu_functions { /* CPU functions */ Modified: projects/specific_leg/sys/arm/include/pmap.h ============================================================================== --- projects/specific_leg/sys/arm/include/pmap.h Tue Dec 17 12:43:35 2013 (r259504) +++ projects/specific_leg/sys/arm/include/pmap.h Tue Dec 17 13:02:23 2013 (r259505) @@ -53,15 +53,6 @@ #include #include -typedef enum { - L2CACHE_UNKNOWN, - L2CACHE_VIVT, - L2CACHE_VIPT, - L2CACHE_PIPT, -} l2cache; - -extern l2cache l2cache_type; - /* * Pte related macros */ From owner-svn-src-projects@FreeBSD.ORG Wed Dec 18 22:31:54 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F39CF30C; Wed, 18 Dec 2013 22:31:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DACAC1DD7; Wed, 18 Dec 2013 22:31:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBIMVrh4004667; Wed, 18 Dec 2013 22:31:53 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBIMVrYq004665; Wed, 18 Dec 2013 22:31:53 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201312182231.rBIMVrYq004665@svn.freebsd.org> From: Peter Grehan Date: Wed, 18 Dec 2013 22:31:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259578 - in projects/bhyve_svm: contrib/unbound/util lib/libvmmapi sys/amd64/amd64 sys/amd64/include sys/amd64/vmm sys/amd64/vmm/amd sys/amd64/vmm/intel sys/amd64/vmm/io usr.sbin/bhyve... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Dec 2013 22:31:54 -0000 Author: grehan Date: Wed Dec 18 22:31:53 2013 New Revision: 259578 URL: http://svnweb.freebsd.org/changeset/base/259578 Log: MFC @ r256071 This is the change where the bhyve_npt_pmap branch was merged in to head. The SVM changes to work with this will be in a follow-on submit. Modified: projects/bhyve_svm/contrib/unbound/util/configparser.c projects/bhyve_svm/lib/libvmmapi/vmmapi.c projects/bhyve_svm/lib/libvmmapi/vmmapi.h projects/bhyve_svm/sys/amd64/amd64/machdep.c projects/bhyve_svm/sys/amd64/amd64/pmap.c projects/bhyve_svm/sys/amd64/amd64/trap.c projects/bhyve_svm/sys/amd64/include/pmap.h projects/bhyve_svm/sys/amd64/include/vmm.h (contents, props changed) projects/bhyve_svm/sys/amd64/include/vmm_dev.h (contents, props changed) projects/bhyve_svm/sys/amd64/include/vmm_instruction_emul.h (contents, props changed) projects/bhyve_svm/sys/amd64/vmm/amd/amdv.c projects/bhyve_svm/sys/amd64/vmm/intel/ept.c projects/bhyve_svm/sys/amd64/vmm/intel/ept.h projects/bhyve_svm/sys/amd64/vmm/intel/vmcs.c projects/bhyve_svm/sys/amd64/vmm/intel/vmcs.h projects/bhyve_svm/sys/amd64/vmm/intel/vmx.c projects/bhyve_svm/sys/amd64/vmm/intel/vmx.h projects/bhyve_svm/sys/amd64/vmm/intel/vmx_genassym.c projects/bhyve_svm/sys/amd64/vmm/intel/vmx_support.S projects/bhyve_svm/sys/amd64/vmm/io/ppt.c projects/bhyve_svm/sys/amd64/vmm/io/ppt.h projects/bhyve_svm/sys/amd64/vmm/vmm.c projects/bhyve_svm/sys/amd64/vmm/vmm_dev.c projects/bhyve_svm/sys/amd64/vmm/vmm_instruction_emul.c projects/bhyve_svm/sys/amd64/vmm/vmm_mem.c projects/bhyve_svm/sys/amd64/vmm/vmm_mem.h projects/bhyve_svm/sys/amd64/vmm/vmm_msr.c projects/bhyve_svm/usr.sbin/bhyve/bhyverun.c projects/bhyve_svm/usr.sbin/bhyve/pci_emul.c projects/bhyve_svm/usr.sbin/bhyve/rtc.c projects/bhyve_svm/usr.sbin/bhyvectl/bhyvectl.c projects/bhyve_svm/usr.sbin/bhyveload/bhyveload.c Directory Properties: projects/bhyve_svm/ (props changed) projects/bhyve_svm/lib/libvmmapi/ (props changed) projects/bhyve_svm/sys/ (props changed) projects/bhyve_svm/sys/amd64/vmm/ (props changed) projects/bhyve_svm/usr.sbin/bhyve/ (props changed) projects/bhyve_svm/usr.sbin/bhyvectl/ (props changed) projects/bhyve_svm/usr.sbin/bhyveload/ (props changed) Modified: projects/bhyve_svm/contrib/unbound/util/configparser.c ============================================================================== --- projects/bhyve_svm/contrib/unbound/util/configparser.c Wed Dec 18 21:49:17 2013 (r259577) +++ projects/bhyve_svm/contrib/unbound/util/configparser.c Wed Dec 18 22:31:53 2013 (r259578) @@ -15,7 +15,7 @@ static const char yysccsid[] = "@(#)yacc #define YYPURE 0 -#line 39 "util/configparser.y" +#line 39 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" #include "config.h" #include @@ -40,7 +40,7 @@ extern struct config_parser_state* cfg_p #define OUTYY(s) #endif -#line 64 "util/configparser.y" +#line 64 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" #ifdef YYSTYPE #undef YYSTYPE_IS_DECLARED #define YYSTYPE_IS_DECLARED 1 @@ -51,7 +51,7 @@ typedef union { char* str; } YYSTYPE; #endif /* !YYSTYPE_IS_DECLARED */ -#line 54 "util/configparser.c" +#line 54 "y.tab.c" /* compatibility with bison */ #ifdef YYPARSE_PARAM @@ -839,10 +839,10 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 1277 "util/configparser.y" +#line 1277 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" /* parse helper routines could be here */ -#line 845 "util/configparser.c" +#line 845 "y.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -1049,13 +1049,13 @@ yyreduce: switch (yyn) { case 8: -#line 118 "util/configparser.y" +#line 118 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("\nP(server:)\n")); } break; case 109: -#line 167 "util/configparser.y" +#line 167 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { struct config_stub* s; OUTYY(("\nP(stub_zone:)\n")); @@ -1068,7 +1068,7 @@ case 109: } break; case 117: -#line 183 "util/configparser.y" +#line 183 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { struct config_stub* s; OUTYY(("\nP(forward_zone:)\n")); @@ -1081,7 +1081,7 @@ case 117: } break; case 124: -#line 199 "util/configparser.y" +#line 199 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_num_threads:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1091,7 +1091,7 @@ case 124: } break; case 125: -#line 208 "util/configparser.y" +#line 208 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_verbosity:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1101,7 +1101,7 @@ case 125: } break; case 126: -#line 217 "util/configparser.y" +#line 217 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_statistics_interval:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "") == 0 || strcmp(yystack.l_mark[0].str, "0") == 0) @@ -1113,7 +1113,7 @@ case 126: } break; case 127: -#line 228 "util/configparser.y" +#line 228 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_statistics_cumulative:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1123,7 +1123,7 @@ case 127: } break; case 128: -#line 237 "util/configparser.y" +#line 237 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_extended_statistics:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1133,7 +1133,7 @@ case 128: } break; case 129: -#line 246 "util/configparser.y" +#line 246 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_port:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1143,7 +1143,7 @@ case 129: } break; case 130: -#line 255 "util/configparser.y" +#line 255 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_interface:%s)\n", yystack.l_mark[0].str)); if(cfg_parser->cfg->num_ifs == 0) @@ -1157,7 +1157,7 @@ case 130: } break; case 131: -#line 268 "util/configparser.y" +#line 268 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_outgoing_interface:%s)\n", yystack.l_mark[0].str)); if(cfg_parser->cfg->num_out_ifs == 0) @@ -1173,7 +1173,7 @@ case 131: } break; case 132: -#line 283 "util/configparser.y" +#line 283 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_outgoing_range:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1183,7 +1183,7 @@ case 132: } break; case 133: -#line 292 "util/configparser.y" +#line 292 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_outgoing_port_permit:%s)\n", yystack.l_mark[0].str)); if(!cfg_mark_ports(yystack.l_mark[0].str, 1, @@ -1193,7 +1193,7 @@ case 133: } break; case 134: -#line 301 "util/configparser.y" +#line 301 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_outgoing_port_avoid:%s)\n", yystack.l_mark[0].str)); if(!cfg_mark_ports(yystack.l_mark[0].str, 0, @@ -1203,7 +1203,7 @@ case 134: } break; case 135: -#line 310 "util/configparser.y" +#line 310 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_outgoing_num_tcp:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1213,7 +1213,7 @@ case 135: } break; case 136: -#line 319 "util/configparser.y" +#line 319 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_incoming_num_tcp:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1223,7 +1223,7 @@ case 136: } break; case 137: -#line 328 "util/configparser.y" +#line 328 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_interface_automatic:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1233,7 +1233,7 @@ case 137: } break; case 138: -#line 337 "util/configparser.y" +#line 337 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_do_ip4:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1243,7 +1243,7 @@ case 138: } break; case 139: -#line 346 "util/configparser.y" +#line 346 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_do_ip6:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1253,7 +1253,7 @@ case 139: } break; case 140: -#line 355 "util/configparser.y" +#line 355 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_do_udp:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1263,7 +1263,7 @@ case 140: } break; case 141: -#line 364 "util/configparser.y" +#line 364 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_do_tcp:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1273,7 +1273,7 @@ case 141: } break; case 142: -#line 373 "util/configparser.y" +#line 373 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_tcp_upstream:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1283,7 +1283,7 @@ case 142: } break; case 143: -#line 382 "util/configparser.y" +#line 382 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_ssl_upstream:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1293,7 +1293,7 @@ case 143: } break; case 144: -#line 391 "util/configparser.y" +#line 391 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_ssl_service_key:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->ssl_service_key); @@ -1301,7 +1301,7 @@ case 144: } break; case 145: -#line 398 "util/configparser.y" +#line 398 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_ssl_service_pem:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->ssl_service_pem); @@ -1309,7 +1309,7 @@ case 145: } break; case 146: -#line 405 "util/configparser.y" +#line 405 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_ssl_port:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1319,7 +1319,7 @@ case 146: } break; case 147: -#line 414 "util/configparser.y" +#line 414 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_do_daemonize:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1329,7 +1329,7 @@ case 147: } break; case 148: -#line 423 "util/configparser.y" +#line 423 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_use_syslog:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1344,7 +1344,7 @@ case 148: } break; case 149: -#line 437 "util/configparser.y" +#line 437 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_log_time_ascii:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1354,7 +1354,7 @@ case 149: } break; case 150: -#line 446 "util/configparser.y" +#line 446 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_log_queries:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1364,7 +1364,7 @@ case 150: } break; case 151: -#line 455 "util/configparser.y" +#line 455 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_chroot:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->chrootdir); @@ -1372,7 +1372,7 @@ case 151: } break; case 152: -#line 462 "util/configparser.y" +#line 462 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_username:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->username); @@ -1380,7 +1380,7 @@ case 152: } break; case 153: -#line 469 "util/configparser.y" +#line 469 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_directory:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->directory); @@ -1388,7 +1388,7 @@ case 153: } break; case 154: -#line 476 "util/configparser.y" +#line 476 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_logfile:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->logfile); @@ -1397,7 +1397,7 @@ case 154: } break; case 155: -#line 484 "util/configparser.y" +#line 484 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_pidfile:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->pidfile); @@ -1405,7 +1405,7 @@ case 155: } break; case 156: -#line 491 "util/configparser.y" +#line 491 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_root_hints:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, yystack.l_mark[0].str)) @@ -1413,7 +1413,7 @@ case 156: } break; case 157: -#line 498 "util/configparser.y" +#line 498 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_dlv_anchor_file:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->dlv_anchor_file); @@ -1421,7 +1421,7 @@ case 157: } break; case 158: -#line 505 "util/configparser.y" +#line 505 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_dlv_anchor:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, yystack.l_mark[0].str)) @@ -1429,7 +1429,7 @@ case 158: } break; case 159: -#line 512 "util/configparser.y" +#line 512 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_auto_trust_anchor_file:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg-> @@ -1438,7 +1438,7 @@ case 159: } break; case 160: -#line 520 "util/configparser.y" +#line 520 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_trust_anchor_file:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg-> @@ -1447,7 +1447,7 @@ case 160: } break; case 161: -#line 528 "util/configparser.y" +#line 528 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_trusted_keys_file:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg-> @@ -1456,7 +1456,7 @@ case 161: } break; case 162: -#line 536 "util/configparser.y" +#line 536 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_trust_anchor:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, yystack.l_mark[0].str)) @@ -1464,7 +1464,7 @@ case 162: } break; case 163: -#line 543 "util/configparser.y" +#line 543 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_domain_insecure:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, yystack.l_mark[0].str)) @@ -1472,7 +1472,7 @@ case 163: } break; case 164: -#line 550 "util/configparser.y" +#line 550 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_hide_identity:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1482,7 +1482,7 @@ case 164: } break; case 165: -#line 559 "util/configparser.y" +#line 559 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_hide_version:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1492,7 +1492,7 @@ case 165: } break; case 166: -#line 568 "util/configparser.y" +#line 568 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_identity:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->identity); @@ -1500,7 +1500,7 @@ case 166: } break; case 167: -#line 575 "util/configparser.y" +#line 575 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_version:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->version); @@ -1508,7 +1508,7 @@ case 167: } break; case 168: -#line 582 "util/configparser.y" +#line 582 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_so_rcvbuf:%s)\n", yystack.l_mark[0].str)); if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->so_rcvbuf)) @@ -1517,7 +1517,7 @@ case 168: } break; case 169: -#line 590 "util/configparser.y" +#line 590 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_so_sndbuf:%s)\n", yystack.l_mark[0].str)); if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->so_sndbuf)) @@ -1526,7 +1526,7 @@ case 169: } break; case 170: -#line 598 "util/configparser.y" +#line 598 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_edns_buffer_size:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1540,7 +1540,7 @@ case 170: } break; case 171: -#line 611 "util/configparser.y" +#line 611 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_msg_buffer_size:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1552,7 +1552,7 @@ case 171: } break; case 172: -#line 622 "util/configparser.y" +#line 622 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_msg_cache_size:%s)\n", yystack.l_mark[0].str)); if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->msg_cache_size)) @@ -1561,7 +1561,7 @@ case 172: } break; case 173: -#line 630 "util/configparser.y" +#line 630 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_msg_cache_slabs:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1575,7 +1575,7 @@ case 173: } break; case 174: -#line 643 "util/configparser.y" +#line 643 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_num_queries_per_thread:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1585,7 +1585,7 @@ case 174: } break; case 175: -#line 652 "util/configparser.y" +#line 652 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_jostle_timeout:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1595,7 +1595,7 @@ case 175: } break; case 176: -#line 661 "util/configparser.y" +#line 661 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_rrset_cache_size:%s)\n", yystack.l_mark[0].str)); if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->rrset_cache_size)) @@ -1604,7 +1604,7 @@ case 176: } break; case 177: -#line 669 "util/configparser.y" +#line 669 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_rrset_cache_slabs:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1618,7 +1618,7 @@ case 177: } break; case 178: -#line 682 "util/configparser.y" +#line 682 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_infra_host_ttl:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1628,7 +1628,7 @@ case 178: } break; case 179: -#line 691 "util/configparser.y" +#line 691 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_infra_lame_ttl:%s)\n", yystack.l_mark[0].str)); verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option " @@ -1637,7 +1637,7 @@ case 179: } break; case 180: -#line 699 "util/configparser.y" +#line 699 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_infra_cache_numhosts:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1647,7 +1647,7 @@ case 180: } break; case 181: -#line 708 "util/configparser.y" +#line 708 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_infra_cache_lame_size:%s)\n", yystack.l_mark[0].str)); verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s " @@ -1656,7 +1656,7 @@ case 181: } break; case 182: -#line 716 "util/configparser.y" +#line 716 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_infra_cache_slabs:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -1670,7 +1670,7 @@ case 182: } break; case 183: -#line 729 "util/configparser.y" +#line 729 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_target_fetch_policy:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->target_fetch_policy); @@ -1678,7 +1678,7 @@ case 183: } break; case 184: -#line 736 "util/configparser.y" +#line 736 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_harden_short_bufsize:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1689,7 +1689,7 @@ case 184: } break; case 185: -#line 746 "util/configparser.y" +#line 746 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_harden_large_queries:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1700,7 +1700,7 @@ case 185: } break; case 186: -#line 756 "util/configparser.y" +#line 756 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_harden_glue:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1711,7 +1711,7 @@ case 186: } break; case 187: -#line 766 "util/configparser.y" +#line 766 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_harden_dnssec_stripped:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1722,7 +1722,7 @@ case 187: } break; case 188: -#line 776 "util/configparser.y" +#line 776 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_harden_below_nxdomain:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1733,7 +1733,7 @@ case 188: } break; case 189: -#line 786 "util/configparser.y" +#line 786 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_harden_referral_path:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1744,7 +1744,7 @@ case 189: } break; case 190: -#line 796 "util/configparser.y" +#line 796 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_use_caps_for_id:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1755,7 +1755,7 @@ case 190: } break; case 191: -#line 806 "util/configparser.y" +#line 806 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_private_address:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, yystack.l_mark[0].str)) @@ -1763,7 +1763,7 @@ case 191: } break; case 192: -#line 813 "util/configparser.y" +#line 813 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_private_domain:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, yystack.l_mark[0].str)) @@ -1771,7 +1771,7 @@ case 192: } break; case 193: -#line 820 "util/configparser.y" +#line 820 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_prefetch:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1781,7 +1781,7 @@ case 193: } break; case 194: -#line 829 "util/configparser.y" +#line 829 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_prefetch_key:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1791,7 +1791,7 @@ case 194: } break; case 195: -#line 838 "util/configparser.y" +#line 838 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_unwanted_reply_threshold:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1801,7 +1801,7 @@ case 195: } break; case 196: -#line 847 "util/configparser.y" +#line 847 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_do_not_query_address:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, yystack.l_mark[0].str)) @@ -1809,7 +1809,7 @@ case 196: } break; case 197: -#line 854 "util/configparser.y" +#line 854 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_do_not_query_localhost:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1820,7 +1820,7 @@ case 197: } break; case 198: -#line 864 "util/configparser.y" +#line 864 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_access_control:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "deny")!=0 && strcmp(yystack.l_mark[0].str, "refuse")!=0 && @@ -1835,7 +1835,7 @@ case 198: } break; case 199: -#line 878 "util/configparser.y" +#line 878 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_module_conf:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->module_conf); @@ -1843,7 +1843,7 @@ case 199: } break; case 200: -#line 885 "util/configparser.y" +#line 885 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_val_override_date:%s)\n", yystack.l_mark[0].str)); if(strlen(yystack.l_mark[0].str) == 0 || strcmp(yystack.l_mark[0].str, "0") == 0) { @@ -1862,7 +1862,7 @@ case 200: } break; case 201: -#line 903 "util/configparser.y" +#line 903 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_val_sig_skew_min:%s)\n", yystack.l_mark[0].str)); if(strlen(yystack.l_mark[0].str) == 0 || strcmp(yystack.l_mark[0].str, "0") == 0) { @@ -1876,7 +1876,7 @@ case 201: } break; case 202: -#line 916 "util/configparser.y" +#line 916 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_val_sig_skew_max:%s)\n", yystack.l_mark[0].str)); if(strlen(yystack.l_mark[0].str) == 0 || strcmp(yystack.l_mark[0].str, "0") == 0) { @@ -1890,7 +1890,7 @@ case 202: } break; case 203: -#line 929 "util/configparser.y" +#line 929 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_cache_max_ttl:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1900,7 +1900,7 @@ case 203: } break; case 204: -#line 938 "util/configparser.y" +#line 938 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_cache_min_ttl:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1910,7 +1910,7 @@ case 204: } break; case 205: -#line 947 "util/configparser.y" +#line 947 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_bogus_ttl:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1920,7 +1920,7 @@ case 205: } break; case 206: -#line 956 "util/configparser.y" +#line 956 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_val_clean_additional:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1931,7 +1931,7 @@ case 206: } break; case 207: -#line 966 "util/configparser.y" +#line 966 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_val_permissive_mode:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1942,7 +1942,7 @@ case 207: } break; case 208: -#line 976 "util/configparser.y" +#line 976 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_ignore_cd_flag:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -1952,7 +1952,7 @@ case 208: } break; case 209: -#line 985 "util/configparser.y" +#line 985 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_val_log_level:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1962,7 +1962,7 @@ case 209: } break; case 210: -#line 994 "util/configparser.y" +#line 994 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", yystack.l_mark[0].str)); free(cfg_parser->cfg->val_nsec3_key_iterations); @@ -1970,7 +1970,7 @@ case 210: } break; case 211: -#line 1001 "util/configparser.y" +#line 1001 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_add_holddown:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1980,7 +1980,7 @@ case 211: } break; case 212: -#line 1010 "util/configparser.y" +#line 1010 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_del_holddown:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -1990,7 +1990,7 @@ case 212: } break; case 213: -#line 1019 "util/configparser.y" +#line 1019 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_keep_missing:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) @@ -2000,7 +2000,7 @@ case 213: } break; case 214: -#line 1028 "util/configparser.y" +#line 1028 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_key_cache_size:%s)\n", yystack.l_mark[0].str)); if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->key_cache_size)) @@ -2009,7 +2009,7 @@ case 214: } break; case 215: -#line 1036 "util/configparser.y" +#line 1036 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_key_cache_slabs:%s)\n", yystack.l_mark[0].str)); if(atoi(yystack.l_mark[0].str) == 0) @@ -2023,7 +2023,7 @@ case 215: } break; case 216: -#line 1049 "util/configparser.y" +#line 1049 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_neg_cache_size:%s)\n", yystack.l_mark[0].str)); if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->neg_cache_size)) @@ -2032,7 +2032,7 @@ case 216: } break; case 217: -#line 1057 "util/configparser.y" +#line 1057 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_local_zone:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "static")!=0 && strcmp(yystack.l_mark[0].str, "deny")!=0 && @@ -2055,7 +2055,7 @@ case 217: } break; case 218: -#line 1079 "util/configparser.y" +#line 1079 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_local_data:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, yystack.l_mark[0].str)) @@ -2063,7 +2063,7 @@ case 218: } break; case 219: -#line 1086 "util/configparser.y" +#line 1086 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", yystack.l_mark[0].str)); @@ -2079,7 +2079,7 @@ case 219: } break; case 220: -#line 1101 "util/configparser.y" +#line 1101 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_minimal_responses:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -2090,7 +2090,7 @@ case 220: } break; case 221: -#line 1111 "util/configparser.y" +#line 1111 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(server_rrset_roundrobin:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -2101,7 +2101,7 @@ case 221: } break; case 222: -#line 1121 "util/configparser.y" +#line 1121 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(name:%s)\n", yystack.l_mark[0].str)); if(cfg_parser->cfg->stubs->name) @@ -2112,7 +2112,7 @@ case 222: } break; case 223: -#line 1131 "util/configparser.y" +#line 1131 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(stub-host:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, yystack.l_mark[0].str)) @@ -2120,7 +2120,7 @@ case 223: } break; case 224: -#line 1138 "util/configparser.y" +#line 1138 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(stub-addr:%s)\n", yystack.l_mark[0].str)); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, yystack.l_mark[0].str)) @@ -2128,7 +2128,7 @@ case 224: } break; case 225: -#line 1145 "util/configparser.y" +#line 1145 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(stub-first:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -2138,7 +2138,7 @@ case 225: } break; case 226: -#line 1154 "util/configparser.y" +#line 1154 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" { OUTYY(("P(stub-prime:%s)\n", yystack.l_mark[0].str)); if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0) @@ -2149,7 +2149,7 @@ case 226: } break; case 227: -#line 1164 "util/configparser.y" +#line 1164 "/usr/home/grehan/freebsd/amd_svm_anishg/lib/libunbound/../../contrib/unbound/util/configparser.y" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 18 23:39:43 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CD131D01; Wed, 18 Dec 2013 23:39:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AD32B127D; Wed, 18 Dec 2013 23:39:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBINdh8r027040; Wed, 18 Dec 2013 23:39:43 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBINdg0w027032; Wed, 18 Dec 2013 23:39:42 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201312182339.rBINdg0w027032@svn.freebsd.org> From: Peter Grehan Date: Wed, 18 Dec 2013 23:39:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259579 - in projects/bhyve_svm/sys/amd64: amd64 vmm vmm/amd X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Dec 2013 23:39:43 -0000 Author: grehan Date: Wed Dec 18 23:39:42 2013 New Revision: 259579 URL: http://svnweb.freebsd.org/changeset/base/259579 Log: Enable memory overcommit for AMD processors. - No emulation of A/D bits is required since AMD-V RVI supports A/D bits. - Enable pmap PT_RVI support(w/o PAT) which is required for memory over-commit support. - Other minor fixes: * Make use of VMCB EXITINTINFO field. If a #VMEXIT happens while delivering an interrupt, EXITINTINFO has all the details that bhyve needs to inject the same interrupt. * SVM h/w decode assist code was incomplete - removed for now. * Some minor code clean-up (more coming). Submitted by: Anish Gupta (akgupt3@gmail.com) Modified: projects/bhyve_svm/sys/amd64/amd64/pmap.c projects/bhyve_svm/sys/amd64/vmm/amd/amdv.c projects/bhyve_svm/sys/amd64/vmm/amd/npt.c projects/bhyve_svm/sys/amd64/vmm/amd/npt.h projects/bhyve_svm/sys/amd64/vmm/amd/svm.c projects/bhyve_svm/sys/amd64/vmm/amd/svm_softc.h projects/bhyve_svm/sys/amd64/vmm/amd/vmcb.c projects/bhyve_svm/sys/amd64/vmm/amd/vmcb.h projects/bhyve_svm/sys/amd64/vmm/vmm.c projects/bhyve_svm/sys/amd64/vmm/vmm_instruction_emul.c projects/bhyve_svm/sys/amd64/vmm/vmm_msr.c Modified: projects/bhyve_svm/sys/amd64/amd64/pmap.c ============================================================================== --- projects/bhyve_svm/sys/amd64/amd64/pmap.c Wed Dec 18 22:31:53 2013 (r259578) +++ projects/bhyve_svm/sys/amd64/amd64/pmap.c Wed Dec 18 23:39:42 2013 (r259579) @@ -146,6 +146,13 @@ __FBSDID("$FreeBSD$"); #endif static __inline boolean_t +pmap_type_guest(pmap_t pmap) +{ + + return ((pmap->pm_type == PT_EPT) || (pmap->pm_type == PT_RVI)); +} + +static __inline boolean_t pmap_emulate_ad_bits(pmap_t pmap) { @@ -159,6 +166,7 @@ pmap_valid_bit(pmap_t pmap) switch (pmap->pm_type) { case PT_X86: + case PT_RVI: mask = X86_PG_V; break; case PT_EPT: @@ -181,6 +189,7 @@ pmap_rw_bit(pmap_t pmap) switch (pmap->pm_type) { case PT_X86: + case PT_RVI: mask = X86_PG_RW; break; case PT_EPT: @@ -205,6 +214,7 @@ pmap_global_bit(pmap_t pmap) case PT_X86: mask = X86_PG_G; break; + case PT_RVI: case PT_EPT: mask = 0; break; @@ -222,6 +232,7 @@ pmap_accessed_bit(pmap_t pmap) switch (pmap->pm_type) { case PT_X86: + case PT_RVI: mask = X86_PG_A; break; case PT_EPT: @@ -244,6 +255,7 @@ pmap_modified_bit(pmap_t pmap) switch (pmap->pm_type) { case PT_X86: + case PT_RVI: mask = X86_PG_M; break; case PT_EPT: @@ -1094,6 +1106,9 @@ pmap_swap_pat(pmap_t pmap, pt_entry_t en if ((entry & x86_pat_bits) != 0) entry ^= x86_pat_bits; break; + case PT_RVI: + /* XXX: PAT support. */ + break; case PT_EPT: /* * Nothing to do - the memory attributes are represented @@ -1137,6 +1152,11 @@ pmap_cache_bits(pmap_t pmap, int mode, b cache_bits |= PG_NC_PWT; break; + case PT_RVI: + /* XXX: PAT support. */ + cache_bits = 0; + break; + case PT_EPT: cache_bits = EPT_PG_IGNORE_PAT | EPT_PG_MEMORY_TYPE(mode); break; @@ -1157,6 +1177,10 @@ pmap_cache_mask(pmap_t pmap, boolean_t i case PT_X86: mask = is_pde ? X86_PG_PDE_CACHE : X86_PG_PTE_CACHE; break; + case PT_RVI: + /* XXX: PAT support. */ + mask = 0; + break; case PT_EPT: mask = EPT_PG_IGNORE_PAT | EPT_PG_MEMORY_TYPE(0x7); break; @@ -1181,6 +1205,7 @@ pmap_update_pde_store(pmap_t pmap, pd_en switch (pmap->pm_type) { case PT_X86: break; + case PT_RVI: case PT_EPT: /* * XXX @@ -1216,9 +1241,9 @@ pmap_update_pde_invalidate(pmap_t pmap, { pt_entry_t PG_G; - if (pmap->pm_type == PT_EPT) + if (pmap_type_guest(pmap)) return; - + KASSERT(pmap->pm_type == PT_X86, ("pmap_update_pde_invalidate: invalid type %d", pmap->pm_type)); @@ -1331,11 +1356,11 @@ pmap_invalidate_page(pmap_t pmap, vm_off cpuset_t other_cpus; u_int cpuid; - if (pmap->pm_type == PT_EPT) { + if (pmap_type_guest(pmap)) { pmap_invalidate_ept(pmap); return; } - + KASSERT(pmap->pm_type == PT_X86, ("pmap_invalidate_page: invalid type %d", pmap->pm_type)); @@ -1409,7 +1434,7 @@ pmap_invalidate_range(pmap_t pmap, vm_of vm_offset_t addr; u_int cpuid; - if (pmap->pm_type == PT_EPT) { + if (pmap_type_guest(pmap)) { pmap_invalidate_ept(pmap); return; } @@ -1468,7 +1493,7 @@ pmap_invalidate_all(pmap_t pmap) uint64_t cr3; u_int cpuid; - if (pmap->pm_type == PT_EPT) { + if (pmap_type_guest(pmap)) { pmap_invalidate_ept(pmap); return; } @@ -1588,7 +1613,7 @@ pmap_update_pde(pmap_t pmap, vm_offset_t cpuid = PCPU_GET(cpuid); other_cpus = all_cpus; CPU_CLR(cpuid, &other_cpus); - if (pmap == kernel_pmap || pmap->pm_type == PT_EPT) + if (pmap == kernel_pmap || pmap_type_guest(pmap)) active = all_cpus; else { active = pmap->pm_active; @@ -1626,6 +1651,7 @@ pmap_invalidate_page(pmap_t pmap, vm_off if (pmap == kernel_pmap || !CPU_EMPTY(&pmap->pm_active)) invlpg(va); break; + case PT_RVI: case PT_EPT: pmap->pm_eptgen++; break; @@ -1645,6 +1671,7 @@ pmap_invalidate_range(pmap_t pmap, vm_of for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); break; + case PT_RVI: case PT_EPT: pmap->pm_eptgen++; break; @@ -1662,6 +1689,7 @@ pmap_invalidate_all(pmap_t pmap) if (pmap == kernel_pmap || !CPU_EMPTY(&pmap->pm_active)) invltlb(); break; + case PT_RVI: case PT_EPT: pmap->pm_eptgen++; break; Modified: projects/bhyve_svm/sys/amd64/vmm/amd/amdv.c ============================================================================== --- projects/bhyve_svm/sys/amd64/vmm/amd/amdv.c Wed Dec 18 22:31:53 2013 (r259578) +++ projects/bhyve_svm/sys/amd64/vmm/amd/amdv.c Wed Dec 18 23:39:42 2013 (r259579) @@ -38,136 +38,6 @@ __FBSDID("$FreeBSD$"); #include "io/iommu.h" static int -amdv_init(void) -{ - - printf("amdv_init: not implemented\n"); - return (ENXIO); -} - -static int -amdv_cleanup(void) -{ - - printf("amdv_cleanup: not implemented\n"); - return (ENXIO); -} - -static void * -amdv_vminit(struct vm *vm, struct pmap *pmap) -{ - - printf("amdv_vminit: not implemented\n"); - return (NULL); -} - -static int -amdv_vmrun(void *arg, int vcpu, register_t rip, struct pmap *pmap) -{ - - printf("amdv_vmrun: not implemented\n"); - return (ENXIO); -} - -static void -amdv_vmcleanup(void *arg) -{ - - printf("amdv_vmcleanup: not implemented\n"); - return; -} - -static int -amdv_getreg(void *arg, int vcpu, int regnum, uint64_t *retval) -{ - - printf("amdv_getreg: not implemented\n"); - return (EINVAL); -} - -static int -amdv_setreg(void *arg, int vcpu, int regnum, uint64_t val) -{ - - printf("amdv_setreg: not implemented\n"); - return (EINVAL); -} - -static int -amdv_getdesc(void *vmi, int vcpu, int num, struct seg_desc *desc) -{ - - printf("amdv_get_desc: not implemented\n"); - return (EINVAL); -} - -static int -amdv_setdesc(void *vmi, int vcpu, int num, struct seg_desc *desc) -{ - - printf("amdv_get_desc: not implemented\n"); - return (EINVAL); -} - -static int -amdv_inject_event(void *vmi, int vcpu, int type, int vector, - uint32_t error_code, int error_code_valid) -{ - - printf("amdv_inject_event: not implemented\n"); - return (EINVAL); -} - -static int -amdv_getcap(void *arg, int vcpu, int type, int *retval) -{ - - printf("amdv_getcap: not implemented\n"); - return (EINVAL); -} - -static int -amdv_setcap(void *arg, int vcpu, int type, int val) -{ - - printf("amdv_setcap: not implemented\n"); - return (EINVAL); -} - -static struct vmspace * -amdv_vmspace_alloc(vm_offset_t min, vm_offset_t max) -{ - - printf("amdv_vmspace_alloc: not implemented\n"); - return (NULL); -} - -static void -amdv_vmspace_free(struct vmspace *vmspace) -{ - - printf("amdv_vmspace_free: not implemented\n"); - return; -} - -struct vmm_ops vmm_ops_amd = { - amdv_init, - amdv_cleanup, - amdv_vminit, - amdv_vmrun, - amdv_vmcleanup, - amdv_getreg, - amdv_setreg, - amdv_getdesc, - amdv_setdesc, - amdv_inject_event, - amdv_getcap, - amdv_setcap, - amdv_vmspace_alloc, - amdv_vmspace_free, -}; - -static int amd_iommu_init(void) { Modified: projects/bhyve_svm/sys/amd64/vmm/amd/npt.c ============================================================================== --- projects/bhyve_svm/sys/amd64/vmm/amd/npt.c Wed Dec 18 22:31:53 2013 (r259578) +++ projects/bhyve_svm/sys/amd64/vmm/amd/npt.c Wed Dec 18 23:39:42 2013 (r259579) @@ -28,11 +28,13 @@ __FBSDID("$FreeBSD$"); #include +#include #include -#include +#include #include #include +#include #include #include @@ -44,268 +46,46 @@ __FBSDID("$FreeBSD$"); #include "svm_softc.h" #include "npt.h" -/* - * "Nested Paging" is an optional SVM feature that provides two levels of - * address translation, thus eliminating the need for the VMM to maintain - * shadow page tables. - * - * Documented in APMv2, section 15.25, Nested Paging. - */ - -#define PAGE_4KB (4 * 1024) -#define PAGE_2MB (2 * 1024 * 1024UL) -#define PAGE_1GB (1024 * 1024 * 1024UL) - -#define GPA_UNMAPPED ((vm_paddr_t)~0) - -/* Get page entry to physical address. */ -#define PTE2PA(x) ((uint64_t)(x) & ~PAGE_MASK) - -MALLOC_DECLARE(M_SVM); - -static uint64_t svm_npt_create(pml4_entry_t *pml4, vm_paddr_t gpa, - vm_paddr_t hpa, vm_memattr_t attr, - int prot, uint64_t size); - -static const int PT_INDEX_MASK = 0x1FF; -static const int PT_SHIFT = 9; - -/* - * Helper function to create nested page table entries for a page - * of size 1GB, 2MB or 4KB. - * - * Starting from PML4 create a PDPTE, PDE or PTE depending on 'pg_size' - * value of 1GB, 2MB or 4KB respectively. - * - * Return size of the mapping created on success and 0 on failure. - * - * XXX: NPT PAT settings. - */ -static uint64_t -svm_npt_create(pml4_entry_t * pml4, vm_paddr_t gpa, vm_paddr_t hpa, - vm_memattr_t attr, int prot, uint64_t pg_size) -{ - uint64_t *pt, *page, pa; - pt_entry_t mode; - int shift, index; - - KASSERT(pg_size, ("Size of page must be 1GB, 2MB or 4KB")); - if (hpa & (pg_size - 1)) { - ERR("HPA(0x%lx) is not aligned, size:0x%lx\n", hpa, pg_size); - return (0); - } - - if (gpa & (pg_size - 1)) { - ERR("GPA(0x%lx) is not aligned, size (0x%lx)\n", gpa, pg_size); - return (0); - } - - /* Find out mode bits for PTE */ - mode = PG_U | PG_V; - if (prot & VM_PROT_WRITE) - mode |= PG_RW; - if ((prot & VM_PROT_EXECUTE) == 0) - mode |= pg_nx; - - pt = (uint64_t *)pml4; - shift = PML4SHIFT; - - while ((shift > PAGE_SHIFT) && (pg_size < (1UL << shift))) { - /* Get PDP, PD or PT index from guest physical address. */ - index = (gpa >> shift) & PT_INDEX_MASK; - - /* If page entry is missing, allocate new page for table.*/ - if (pt[index] == 0) { - page = malloc(PAGE_SIZE, M_SVM, M_WAITOK | M_ZERO); - pt[index] = vtophys(page) | mode; - } - - pa = PTE2PA(pt[index]);; - pt = (uint64_t *)PHYS_TO_DMAP(pa); - shift -= PT_SHIFT; - } - - /* Create leaf entry mapping. */ - index = (gpa >> shift) & PT_INDEX_MASK; - - if (prot != VM_PROT_NONE) { - pt[index] = hpa | mode; - pt[index] |= (pg_size > PAGE_SIZE) ? PG_PS : 0; - } else - pt[index] = 0; - - return (1UL << shift); -} - -/* - * Map guest physical address to host physical address. - */ -int -svm_npt_vmmap_set(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, - size_t size, vm_memattr_t attr, int prot, boolean_t spok) -{ - pml4_entry_t *pml4; - struct svm_softc *svm_sc; - uint64_t len, mapped, pg_size; - - svm_sc = arg; - pml4 = svm_sc->np_pml4; - - pg_size = PAGE_4KB; - if (spok) { - pg_size = PAGE_2MB; - if (amd_feature & AMDID_PAGE1GB) - pg_size = PAGE_1GB; - } - - /* Compute the largest page mapping that can be used */ - while (pg_size > PAGE_4KB) { - if (size >= pg_size && - (gpa & (pg_size - 1)) == 0 && - (hpa & (pg_size - 1)) == 0) { - break; - } - pg_size >>= PT_SHIFT; - } - - len = 0; - while (len < size) { - mapped = svm_npt_create(pml4, gpa + len, hpa + len, attr, prot, - pg_size); - len += mapped; - } - - return (0); -} - -/* - * Get HPA for a given GPA. - */ -vm_paddr_t -svm_npt_vmmap_get(void *arg, vm_paddr_t gpa) -{ - struct svm_softc *svm_sc; - pml4_entry_t *pml4; - uint64_t *pt, pa, hpa, pgmask; - int shift, index; - - svm_sc = arg; - pml4 = svm_sc->np_pml4; - - pt = (uint64_t *)pml4; - shift = PML4SHIFT; - - while (shift > PAGE_SHIFT) { - /* Get PDP, PD or PT index from GPA */ - index = (gpa >> shift) & PT_INDEX_MASK; - if (pt[index] == 0) { - ERR("No entry for GPA:0x%lx.", gpa); - return (GPA_UNMAPPED); - } - - if (pt[index] & PG_PS) { - break; - } - - pa = PTE2PA(pt[index]);; - pt = (uint64_t *)PHYS_TO_DMAP(pa); - shift -= PT_SHIFT; - } - - index = (gpa >> shift) & PT_INDEX_MASK; - if (pt[index] == 0) { - ERR("No mapping for GPA:0x%lx.\n", gpa); - return (GPA_UNMAPPED); - } - - /* Add GPA offset to HPA */ - pgmask = (1UL << shift) - 1; - hpa = (PTE2PA(pt[index]) & ~pgmask) | (gpa & pgmask); - - return (hpa); -} +SYSCTL_DECL(_hw_vmm); +SYSCTL_NODE(_hw_vmm, OID_AUTO, npt, CTLFLAG_RW, NULL, NULL); +static int npt_flags; +SYSCTL_INT(_hw_vmm_npt, OID_AUTO, pmap_flags, CTLFLAG_RD, + &npt_flags, 0, NULL); /* * AMD nested page table init. */ int svm_npt_init(void) { + int enable_superpage = 1; + + TUNABLE_INT_FETCH("hw.vmm.npt.enable_superpage", &enable_superpage); + if (enable_superpage) + npt_flags |= PMAP_PDE_SUPERPAGE; return (0); } -/* - * Free Page Table page. - */ -static void -free_pt(pd_entry_t pde) -{ - pt_entry_t *pt; - pt = (pt_entry_t *)PHYS_TO_DMAP(PTE2PA(pde)); - free(pt, M_SVM); -} -/* - * Free Page Directory page. - */ -static void -free_pd(pdp_entry_t pdpe) +static int +npt_pinit(pmap_t pmap) { - pd_entry_t *pd; - int i; - - pd = (pd_entry_t *)PHYS_TO_DMAP(PTE2PA(pdpe)); - for (i = 0; i < NPDEPG; i++) { - /* Skip not-present or superpage entries */ - if ((pd[i] == 0) || (pd[i] & PG_PS)) - continue; - free_pt(pd[i]); - } - - free(pd, M_SVM); + return (pmap_pinit_type(pmap, PT_RVI, npt_flags)); } -/* - * Free Page Directory Pointer page. - */ -static void -free_pdp(pml4_entry_t pml4e) +struct vmspace * +svm_npt_alloc(vm_offset_t min, vm_offset_t max) { - pdp_entry_t *pdp; - int i; - - pdp = (pdp_entry_t *)PHYS_TO_DMAP(PTE2PA(pml4e)); - for (i = 0; i < NPDPEPG; i++) { - /* Skip not-present or superpage entries */ - if ((pdp[i] == 0) || (pdp[i] & PG_PS)) - continue; - - free_pd(pdp[i]); - } - - free(pdp, M_SVM); + + return (vmspace_alloc(min, max, npt_pinit)); } -/* - * Free the guest's nested page table. - */ -int -svm_npt_cleanup(struct svm_softc *svm_sc) +void +svm_npt_free(struct vmspace *vmspace) { - pml4_entry_t *pml4; - int i; - pml4 = svm_sc->np_pml4; - - for (i = 0; i < NPML4EPG; i++) { - if (pml4[i] != 0) { - free_pdp(pml4[i]); - pml4[i] = 0; - } - } - - return (0); + vmspace_free(vmspace); } Modified: projects/bhyve_svm/sys/amd64/vmm/amd/npt.h ============================================================================== --- projects/bhyve_svm/sys/amd64/vmm/amd/npt.h Wed Dec 18 22:31:53 2013 (r259578) +++ projects/bhyve_svm/sys/amd64/vmm/amd/npt.h Wed Dec 18 23:39:42 2013 (r259579) @@ -31,10 +31,7 @@ struct svm_softc; -int svm_npt_init(void); -int svm_npt_cleanup(struct svm_softc *sc); -vm_paddr_t svm_npt_vmmap_get(void *arg, vm_paddr_t gpa); -int svm_npt_vmmap_set(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, - size_t len, vm_memattr_t attr, int prot, - boolean_t sp); +int svm_npt_init(void); +struct vmspace *svm_npt_alloc(vm_offset_t min, vm_offset_t max); +void svm_npt_free(struct vmspace *vmspace); #endif /* _SVM_NPT_H_ */ Modified: projects/bhyve_svm/sys/amd64/vmm/amd/svm.c ============================================================================== --- projects/bhyve_svm/sys/amd64/vmm/amd/svm.c Wed Dec 18 22:31:53 2013 (r259578) +++ projects/bhyve_svm/sys/amd64/vmm/amd/svm.c Wed Dec 18 23:39:42 2013 (r259579) @@ -61,7 +61,7 @@ __FBSDID("$FreeBSD$"); #include "npt.h" /* - * SVM CPUID function 0x8000_000Ai, edx bit decoding. + * SVM CPUID function 0x8000_000A, edx bit decoding. */ #define AMD_CPUID_SVM_NP BIT(0) /* Nested paging or RVI */ #define AMD_CPUID_SVM_LBR BIT(1) /* Last branch virtualization */ @@ -79,7 +79,7 @@ MALLOC_DEFINE(M_SVM, "svm", "svm"); /* Per-CPU context area. */ extern struct pcpu __pcpu[]; -static int svm_vmexit(struct svm_softc *svm_sc, int vcpu, +static bool svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit); static int svm_msr_rw_ok(uint8_t *btmap, uint64_t msr); static int svm_msr_index(uint64_t msr, int *index, int *bit); @@ -98,11 +98,6 @@ static uint32_t guest_asid = 1; */ static int max_asid; -/* - * Statistics - */ -static VMM_STAT_AMD(VMEXIT_NPF_LAPIC, "vm exits due to Local APIC access"); - /* * SVM host state saved area of size 4KB for each core. */ @@ -113,6 +108,8 @@ static uint8_t hsave[MAXCPU][PAGE_SIZE] */ static struct svm_regctx host_ctx[MAXCPU]; +static VMM_STAT_AMD(VCPU_EXITINTINFO, "Valid EXITINTINFO"); + /* * Common function to enable or disabled SVM for a CPU. */ @@ -123,19 +120,13 @@ cpu_svm_enable_disable(boolean_t enable) efer_msr = rdmsr(MSR_EFER); - if (enable) { + if (enable) efer_msr |= EFER_SVM; - } else { + else efer_msr &= ~EFER_SVM; - } wrmsr(MSR_EFER, efer_msr); - if(rdmsr(MSR_EFER) != efer_msr) { - ERR("SVM couldn't be enabled on CPU%d.\n", curcpu); - return (EIO); - } - return(0); } @@ -199,20 +190,16 @@ svm_cpuid_features(void) } /* - * XXX: BHyVe need EPT or RVI to work. + * bhyve need RVI to work. */ if (!(svm_feature & AMD_CPUID_SVM_NP)) { printf("Missing Nested paging or RVI SVM support in processor.\n"); return (EIO); } - if (svm_feature & (AMD_CPUID_SVM_NRIP_SAVE | - AMD_CPUID_SVM_DECODE_ASSIST)) { + if (svm_feature & AMD_CPUID_SVM_NRIP_SAVE) return (0); - } - /* XXX: Should never be here? */ - printf("Processor doesn't support nRIP or decode assist, can't" - "run BhyVe.\n"); + return (EIO); } @@ -267,16 +254,16 @@ svm_init(void) int err; err = is_svm_enabled(); - if (err) { + if (err) return (err); - } + svm_npt_init(); /* Start SVM on all CPUs */ smp_rendezvous(NULL, svm_enable, NULL, NULL); - return(0); + return (0); } /* @@ -383,7 +370,7 @@ svm_init_vcpu(struct svm_vcpu *vcpu, vm_ * Initialise a virtual machine. */ static void * -svm_vminit(struct vm *vm) +svm_vminit(struct vm *vm, pmap_t pmap) { struct svm_softc *svm_sc; vm_paddr_t msrpm_pa, iopm_pa, pml4_pa; @@ -401,10 +388,10 @@ svm_vminit(struct vm *vm) svm_sc->vm = vm; svm_sc->svm_feature = svm_feature; svm_sc->vcpu_cnt = VM_MAXCPU; - + svm_sc->nptp = (vm_offset_t)vtophys(pmap->pm_pml4); /* * Each guest has its own unique ASID. - * ASID(Addres Space Identifier) are used by TLB entries. + * ASID(Address Space Identifier) is used by TLB entry. */ svm_sc->asid = guest_asid++; @@ -438,7 +425,7 @@ svm_vminit(struct vm *vm) /* Cache physical address for multiple vcpus. */ iopm_pa = vtophys(svm_sc->iopm_bitmap); msrpm_pa = vtophys(svm_sc->msr_bitmap); - pml4_pa = vtophys(svm_sc->np_pml4); + pml4_pa = svm_sc->nptp; for (i = 0; i < svm_sc->vcpu_cnt; i++) { if (svm_init_vcpu(svm_get_vcpu(svm_sc, i), iopm_pa, msrpm_pa, @@ -458,7 +445,7 @@ cleanup: /* * Handle guest I/O intercept. */ -static int +static bool svm_handle_io(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) { struct vmcb_ctrl *ctrl; @@ -477,74 +464,39 @@ svm_handle_io(struct svm_softc *svm_sc, vmexit->u.inout.port = (uint16_t)(info1 >> 16); vmexit->u.inout.eax = (uint32_t)(state->rax); - return (1); + return (false); } -/* - * SVM Nested Page(RVI) Fault handler. - * Nested page fault handler used by local APIC emulation. - */ -static int -svm_handle_npf(struct vm *vm, int vcpu, uint64_t gpa, uint64_t rip, - uint64_t exitinfo1, uint64_t cr3, struct vie *vie) +static void +svm_npf_paging(uint64_t exitinfo1, int *type, int *prot) { - int err; - if (exitinfo1 & VMCB_NPF_INFO1_ID) { - VMM_CTR0(vm, vcpu, "SVM:NPF for code access."); - return (0); - } + if (exitinfo1 & VMCB_NPF_INFO1_W) + *type = VM_PROT_WRITE; + else + *type = VM_PROT_READ; - if (exitinfo1 & VMCB_NPF_INFO1_RSV) { - VMM_CTR0(vm, vcpu, "SVM:NPF reserved bits are set."); - return (0); - } - - if (exitinfo1 & VMCB_NPF_INFO1_GPT) { - VMM_CTR0(vm, vcpu, "SVM:NPF during guest page table walk."); - return (0); - } + /* XXX: protection is not used. */ + *prot = 0; +} - /* - * nRIP is NULL for NPF so we don't have the length of instruction, - * we rely on instruction decode s/w to determine the size of - * instruction. - * - * XXX: DecodeAssist can use instruction from buffer. - */ - if (vmm_fetch_instruction(vm, vcpu, rip, VIE_INST_SIZE, - cr3, vie) != 0) { - ERR("SVM:NPF instruction fetch failed, RIP:0x%lx\n", rip); - return (EINVAL); +static bool +svm_npf_emul_fault(uint64_t exitinfo1) +{ + + if (exitinfo1 & VMCB_NPF_INFO1_ID) { + return (false); } - KASSERT(vie->num_valid, ("No instruction to emulate.")); - /* - * SVM doesn't provide GLA unlike Intel VM-x. VIE_INVALID_GLA - * which is a non-cannonical address indicate that GLA is not - * available to instruction emulation. - * - * XXX: Which SVM capability can provided GLA? - */ - if(vmm_decode_instruction(vm, vcpu, VIE_INVALID_GLA, vie)) { - ERR("SVM: Couldn't decode instruction.\n"); - return (0); + if (exitinfo1 & VMCB_NPF_INFO1_GPT) { + return (false); } - /* - * XXX: Decoding for user space(IOAPIC) should be done in - * user space. - */ - if (gpa < DEFAULT_APIC_BASE || gpa >= (DEFAULT_APIC_BASE + PAGE_SIZE)) { - VMM_CTR2(vm, vcpu, "SVM:NPF GPA(0x%lx) outside of local APIC" - " range(0x%x)\n", gpa, DEFAULT_APIC_BASE); - return (0); + if ((exitinfo1 & VMCB_NPF_INFO1_GPA) == 0) { + return (false); } - err = vmm_emulate_instruction(vm, vcpu, gpa, vie, lapic_mmio_read, - lapic_mmio_write, 0); - - return (err ? 0 : 1); + return (true); } /* @@ -571,12 +523,12 @@ svm_efer(struct svm_softc *svm_sc, int v } /* - * Determine the cause of virtual cpu exit and return to user space if exit - * demand so. - * Return: 1 - Return to user space. - * 0 - Continue vcpu run. + * Determine the cause of virtual cpu exit and handle VMEXIT. + * Return: false - Break vcpu execution loop and handle vmexit + * in kernel or user space. + * true - Continue vcpu run. */ -static int +static bool svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit) { struct vmcb_state *state; @@ -584,35 +536,27 @@ svm_vmexit(struct svm_softc *svm_sc, int struct svm_regctx *ctx; uint64_t code, info1, info2, val; uint32_t eax, ecx, edx; - int user; /* Flag for user mode */ - int update_rip; /* Flag for updating RIP */ - int inst_len; + bool update_rip, loop; KASSERT(vcpu < svm_sc->vcpu_cnt, ("Guest doesn't have VCPU%d", vcpu)); state = svm_get_vmcb_state(svm_sc, vcpu); ctrl = svm_get_vmcb_ctrl(svm_sc, vcpu); ctx = svm_get_guest_regctx(svm_sc, vcpu); - update_rip = 1; - user = 0; - - vmexit->exitcode = VM_EXITCODE_VMX; - vmexit->u.vmx.error = 0; - code = ctrl->exitcode; + code = ctrl->exitcode; info1 = ctrl->exitinfo1; info2 = ctrl->exitinfo2; - if (ctrl->nrip) { - inst_len = ctrl->nrip - state->rip; - } else { - inst_len = ctrl->inst_decode_size; - } + update_rip = true; + loop = true; + vmexit->exitcode = VM_EXITCODE_VMX; + vmexit->u.vmx.error = 0; switch (code) { case VMCB_EXIT_MC: /* Machine Check. */ vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_MTRAP, 1); vmexit->exitcode = VM_EXITCODE_MTRAP; - user = 1; + loop = false; break; case VMCB_EXIT_MSR: /* MSR access. */ @@ -628,27 +572,29 @@ svm_vmexit(struct svm_softc *svm_sc, int if (info1) { /* VM exited because of write MSR */ - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_WRMSR, 1); + vmm_stat_incr(svm_sc->vm, vcpu, + VMEXIT_WRMSR, 1); vmexit->exitcode = VM_EXITCODE_WRMSR; vmexit->u.msr.code = ecx; val = (uint64_t)edx << 32 | eax; if (emulate_wrmsr(svm_sc->vm, vcpu, ecx, val)) { vmexit->u.msr.wval = val; - user = 1; + loop = false; } VMM_CTR3(svm_sc->vm, vcpu, "VMEXIT WRMSR(%s handling) 0x%lx @0x%x", - user ? "user" : "kernel", val, ecx); + loop ? "kernel" : "user", val, ecx); } else { - vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_RDMSR, 1); + vmm_stat_incr(svm_sc->vm, vcpu, + VMEXIT_RDMSR, 1); vmexit->exitcode = VM_EXITCODE_RDMSR; vmexit->u.msr.code = ecx; if (emulate_rdmsr(svm_sc->vm, vcpu, ecx)) { - user = 1; + loop = false; } VMM_CTR3(svm_sc->vm, vcpu, "SVM:VMEXIT RDMSR" - " 0x%lx,%lx @0x%x", ctx->e.g.sctx_rdx, - state->rax, ecx); + " MSB=0x%08x, LSB=%08x @0x%x", + ctx->e.g.sctx_rdx, state->rax, ecx); } #define MSR_AMDK8_IPM 0xc0010055 @@ -659,17 +605,16 @@ svm_vmexit(struct svm_softc *svm_sc, int * XXX: special handling of AMD C1E - Ignore. */ if (ecx == MSR_AMDK8_IPM) - user = 0; + loop = true; break; - case VMCB_EXIT_INTR: + case VMCB_EXIT_INTR: /* * Exit on External Interrupt. * Give host interrupt handler to run and if its guest * interrupt, local APIC will inject event in guest. */ - user = 0; - update_rip = 0; + update_rip = false; VMM_CTR1(svm_sc->vm, vcpu, "SVM:VMEXIT ExtInt" " RIP:0x%lx.\n", state->rip); vmm_stat_incr(svm_sc->vm, vcpu, VMEXIT_EXTINT, 1); @@ -677,9 +622,8 @@ svm_vmexit(struct svm_softc *svm_sc, int case VMCB_EXIT_IO: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Dec 19 18:52:28 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0E177BB6; Thu, 19 Dec 2013 18:52:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EE3281D47; Thu, 19 Dec 2013 18:52:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBJIqRcq057725; Thu, 19 Dec 2013 18:52:27 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBJIqRJO057724; Thu, 19 Dec 2013 18:52:27 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312191852.rBJIqRJO057724@svn.freebsd.org> From: Andrew Turner Date: Thu, 19 Dec 2013 18:52:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259620 - projects/specific_leg/sys/arm/arm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Dec 2013 18:52:28 -0000 Author: andrew Date: Thu Dec 19 18:52:27 2013 New Revision: 259620 URL: http://svnweb.freebsd.org/changeset/base/259620 Log: Re-enable the FreeBSD boot ABI, it works as expected. Modified: projects/specific_leg/sys/arm/arm/machdep.c Modified: projects/specific_leg/sys/arm/arm/machdep.c ============================================================================== --- projects/specific_leg/sys/arm/arm/machdep.c Thu Dec 19 18:27:32 2013 (r259619) +++ projects/specific_leg/sys/arm/arm/machdep.c Thu Dec 19 18:52:27 2013 (r259620) @@ -994,11 +994,11 @@ default_parse_boot_param(struct arm_boot if ((lastaddr = linux_parse_boot_param(abp)) != 0) return lastaddr; #endif +#endif #if defined(FREEBSD_BOOT_LOADER) if ((lastaddr = freebsd_parse_boot_param(abp)) != 0) return lastaddr; #endif -#endif /* Fall back to hardcoded metadata. */ lastaddr = fake_preload_metadata(abp); From owner-svn-src-projects@FreeBSD.ORG Fri Dec 20 14:33:49 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3088AB47; Fri, 20 Dec 2013 14:33:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1BAEA1957; Fri, 20 Dec 2013 14:33:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBKEXmf5089972; Fri, 20 Dec 2013 14:33:48 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBKEXmGu089968; Fri, 20 Dec 2013 14:33:48 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312201433.rBKEXmGu089968@svn.freebsd.org> From: Andrew Turner Date: Fri, 20 Dec 2013 14:33:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259648 - in projects/specific_leg/sys/arm: arm include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Dec 2013 14:33:49 -0000 Author: andrew Date: Fri Dec 20 14:33:48 2013 New Revision: 259648 URL: http://svnweb.freebsd.org/changeset/base/259648 Log: Map in the DTB passed to us using the Linux ABI. As it may be at any address we move it to just after the kernel. While here fix the spelling of abp. Modified: projects/specific_leg/sys/arm/arm/locore.S projects/specific_leg/sys/arm/arm/machdep.c projects/specific_leg/sys/arm/include/cpu.h Modified: projects/specific_leg/sys/arm/arm/locore.S ============================================================================== --- projects/specific_leg/sys/arm/arm/locore.S Fri Dec 20 14:03:56 2013 (r259647) +++ projects/specific_leg/sys/arm/arm/locore.S Fri Dec 20 14:33:48 2013 (r259648) @@ -221,6 +221,9 @@ virt_done: str ip, [r0, #12] /* store r2 from boot loader */ str fp, [r0, #16] /* store r3 from boot loader */ str r5, [r0, #20] /* store the physical address */ + adr r4, Lpagetable /* load the pagetable address */ + ldr r5, [r4, #4] + str r5, [r0, #24] /* store the pagetable address */ mov fp, #0 /* trace back starts here */ bl _C_LABEL(initarm) /* Off we go */ Modified: projects/specific_leg/sys/arm/arm/machdep.c ============================================================================== --- projects/specific_leg/sys/arm/arm/machdep.c Fri Dec 20 14:03:56 2013 (r259647) +++ projects/specific_leg/sys/arm/arm/machdep.c Fri Dec 20 14:33:48 2013 (r259648) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #ifdef FDT #include #include +#include #endif #define DEBUG @@ -167,9 +168,8 @@ static struct pv_addr kernelstack; #define LBABI_MAX_BANKS 10 uint32_t board_id; -struct arm_lbabi_tag *atag_list; char linux_command_line[LBABI_MAX_COMMAND_LINE + 1]; -char atags[LBABI_MAX_COMMAND_LINE * 2]; +//char atags[LBABI_MAX_COMMAND_LINE * 2]; uint32_t memstart[LBABI_MAX_BANKS]; uint32_t memsize[LBABI_MAX_BANKS]; uint32_t membanks; @@ -823,14 +823,19 @@ arm_dump_avail_init(vm_offset_t ramsize, /* * Fake up a boot descriptor table */ -vm_offset_t -fake_preload_metadata(struct arm_boot_params *abp __unused) +static vm_offset_t +build_fake_preload_metadata(struct arm_boot_params *abp __unused, + uint32_t **preload_end) { #ifdef DDB vm_offset_t zstart = 0, zend = 0; #endif vm_offset_t lastaddr; int i = 0; + /* + * fake_preload needs space for 3 items over what we use here + * for the Linux ABI. + */ static uint32_t fake_preload[35]; fake_preload[i++] = MODINFO_NAME; @@ -870,6 +875,12 @@ fake_preload_metadata(struct arm_boot_pa return (lastaddr); } +vm_offset_t +fake_preload_metadata(struct arm_boot_params *abp) +{ + return build_fake_preload_metadata(abp, NULL); +} + void pcpu0_init(void) { @@ -887,9 +898,14 @@ pcpu0_init(void) vm_offset_t linux_parse_boot_param(struct arm_boot_params *abp) { + //struct arm_lbabi_tag *atag_list; + vm_offset_t lastaddr, mapbase; struct arm_lbabi_tag *walker; - uint32_t revision; - uint64_t serial; + //uint32_t revision; + //uint64_t serial; + uint32_t *preload_end; + int fdt_len; + void *data; /* * Linux boot ABI: r0 = 0, r1 is the board type (!= 0) and r2 @@ -900,52 +916,90 @@ linux_parse_boot_param(struct arm_boot_p return 0; board_id = abp->abp_r1; - walker = (struct arm_lbabi_tag *) - (abp->abp_r2 + KERNVIRTADDR - abp->apb_physaddr); - /* xxx - Need to also look for binary device tree */ - if (ATAG_TAG(walker) != ATAG_CORE) - return 0; + /* + * Map the data at abp->abp_r2 into the kernel at 0xe0000000, + * we will move it to a better location later. + */ +#define BOOT_PARAM_ADDR 0xe0000000U + mapbase = abp->abp_r2 & L1_S_FRAME; + pmap_map_chunk(abp->abp_pagetable, BOOT_PARAM_ADDR, + mapbase, L1_S_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - atag_list = walker; - while (ATAG_TAG(walker) != ATAG_NONE) { - switch (ATAG_TAG(walker)) { - case ATAG_CORE: - break; - case ATAG_MEM: - if (membanks < LBABI_MAX_BANKS) { - memstart[membanks] = walker->u.tag_mem.start; - memsize[membanks] = walker->u.tag_mem.size; + data = (struct arm_lbabi_tag *) + (abp->abp_r2 + BOOT_PARAM_ADDR - mapbase); +#undef BOOT_PARAM_ADDR + + walker = data; + if (ATAG_TAG(walker) != ATAG_CORE) { + /* TODO: Test this */ +#if 0 + atag_list = walker; + while (ATAG_TAG(walker) != ATAG_NONE) { + switch (ATAG_TAG(walker)) { + case ATAG_CORE: + break; + case ATAG_MEM: + if (membanks < LBABI_MAX_BANKS) { + memstart[membanks] = walker->u.tag_mem.start; + memsize[membanks] = walker->u.tag_mem.size; + } + membanks++; + break; + case ATAG_INITRD2: + break; + case ATAG_SERIAL: + serial = walker->u.tag_sn.low | + ((uint64_t)walker->u.tag_sn.high << 32); + board_set_serial(serial); + break; + case ATAG_REVISION: + revision = walker->u.tag_rev.rev; + board_set_revision(revision); + break; + case ATAG_CMDLINE: + /* XXX open question: Parse this for boothowto? */ + bcopy(walker->u.tag_cmd.command, linux_command_line, + ATAG_SIZE(walker)); + break; + default: + break; } - membanks++; - break; - case ATAG_INITRD2: - break; - case ATAG_SERIAL: - serial = walker->u.tag_sn.low | - ((uint64_t)walker->u.tag_sn.high << 32); - board_set_serial(serial); - break; - case ATAG_REVISION: - revision = walker->u.tag_rev.rev; - board_set_revision(revision); - break; - case ATAG_CMDLINE: - /* XXX open question: Parse this for boothowto? */ - bcopy(walker->u.tag_cmd.command, linux_command_line, - ATAG_SIZE(walker)); - break; - default: - break; + walker = ATAG_NEXT(walker); } - walker = ATAG_NEXT(walker); + + /* Save a copy for later */ + bcopy(atag_list, atags, + (char *)walker - (char *)atag_list + ATAG_SIZE(walker)); +#endif + return fake_preload_metadata(abp); } +#ifdef FDT + else if (fdt_check_header(data) == 0) { + /* We have a DTB */ + + /* Find how much data to copy, and where to copy it to */ + fdt_len = fdt_totalsize(data); + lastaddr = build_fake_preload_metadata(abp, &preload_end); + + /* Move the fdt data to lastaddr */ + fdt_move(data, (void *)lastaddr, fdt_len); + + preload_end[0] = MODINFOMD_DTBP; + preload_end[1] = sizeof(vm_offset_t); + preload_end[2] = lastaddr; + preload_end[3] = 0; + preload_end[4] = 0; + + /* Move lastaddr to skop the dtb */ + lastaddr += fdt_len; - /* Save a copy for later */ - bcopy(atag_list, atags, - (char *)walker - (char *)atag_list + ATAG_SIZE(walker)); + return roundup2(lastaddr, PAGE_SIZE); + } +#endif - return fake_preload_metadata(abp); + return 0; } #endif @@ -979,7 +1033,7 @@ freebsd_parse_boot_param(struct arm_boot ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t); ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t); #endif - preload_addr_relocate = KERNVIRTADDR - abp->apb_physaddr; + preload_addr_relocate = KERNVIRTADDR - abp->abp_physaddr; return lastaddr; } #endif @@ -989,12 +1043,10 @@ default_parse_boot_param(struct arm_boot { vm_offset_t lastaddr; -#if 0 #if defined(LINUX_BOOT_ABI) if ((lastaddr = linux_parse_boot_param(abp)) != 0) return lastaddr; #endif -#endif #if defined(FREEBSD_BOOT_LOADER) if ((lastaddr = freebsd_parse_boot_param(abp)) != 0) return lastaddr; @@ -1211,9 +1263,14 @@ initarm(struct arm_boot_params *abp) vm_offset_t rstart, rend; int curr; + /* + * This needs to be before parse_boot_param as we may map memory in. + * The pmap layer may use the CPUs cache functions which are defined + * when set_cpufuncs has been called. + */ + set_cpufuncs(); lastaddr = parse_boot_param(abp); memsize = 0; - set_cpufuncs(); /* * Find the dtb passed in by the boot loader. @@ -1343,7 +1400,7 @@ initarm(struct arm_boot_params *abp) /* Define a macro to simplify memory allocation */ #define valloc_pages(var, np) \ alloc_pages((var).pv_va, (np)); \ - (var).pv_pa = (var).pv_va + (abp->apb_physaddr - KERNVIRTADDR); + (var).pv_pa = (var).pv_va + (abp->abp_physaddr - KERNVIRTADDR); #define alloc_pages(var, np) \ (var) = freemempos; \ @@ -1364,7 +1421,7 @@ initarm(struct arm_boot_params *abp) L2_TABLE_SIZE_REAL * (i - j); kernel_pt_table[i].pv_pa = kernel_pt_table[i].pv_va - KERNVIRTADDR + - abp->apb_physaddr; + abp->abp_physaddr; } } @@ -1409,7 +1466,7 @@ initarm(struct arm_boot_params *abp) pmap_curmaxkvaddr = l2_start + (l2size - 1) * L1_S_SIZE; /* Map kernel code and data */ - pmap_map_chunk(l1pagetable, KERNVIRTADDR, abp->apb_physaddr, + pmap_map_chunk(l1pagetable, KERNVIRTADDR, abp->abp_physaddr, (((uint32_t)(lastaddr) - KERNVIRTADDR) + PAGE_MASK) & ~PAGE_MASK, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); @@ -1526,7 +1583,7 @@ initarm(struct arm_boot_params *abp) /* * Prepare map of physical memory regions available to vm subsystem. */ - physmap_init(availmem_regions, availmem_regions_sz, abp->apb_physaddr); + physmap_init(availmem_regions, availmem_regions_sz, abp->abp_physaddr); init_param2(physmem); kdb_init(); Modified: projects/specific_leg/sys/arm/include/cpu.h ============================================================================== --- projects/specific_leg/sys/arm/include/cpu.h Fri Dec 20 14:03:56 2013 (r259647) +++ projects/specific_leg/sys/arm/include/cpu.h Fri Dec 20 14:33:48 2013 (r259648) @@ -41,7 +41,8 @@ struct arm_boot_params { register_t abp_r1; /* r1 from the boot loader */ register_t abp_r2; /* r2 from the boot loader */ register_t abp_r3; /* r3 from the boot loader */ - register_t apb_physaddr; /* The kernel physical address */ + vm_offset_t abp_physaddr; /* The kernel physical address */ + vm_offset_t abp_pagetable; /* The early page table */ }; void arm_vector_init(vm_offset_t, int); From owner-svn-src-projects@FreeBSD.ORG Fri Dec 20 15:57:16 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9EF68E17; Fri, 20 Dec 2013 15:57:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8B249102E; Fri, 20 Dec 2013 15:57:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBKFvGdP020581; Fri, 20 Dec 2013 15:57:16 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBKFvG9d020578; Fri, 20 Dec 2013 15:57:16 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312201557.rBKFvG9d020578@svn.freebsd.org> From: Andrew Turner Date: Fri, 20 Dec 2013 15:57:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259653 - in projects/specific_leg/sys/arm: arm include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Dec 2013 15:57:16 -0000 Author: andrew Date: Fri Dec 20 15:57:15 2013 New Revision: 259653 URL: http://svnweb.freebsd.org/changeset/base/259653 Log: Correctly allocate enough space on the stack for the boot params. As this bug can be hidden by the stack alignment use the stack pointer before we align the stack to help catch this if it happens again. Modified: projects/specific_leg/sys/arm/arm/locore.S projects/specific_leg/sys/arm/include/cpu.h Modified: projects/specific_leg/sys/arm/arm/locore.S ============================================================================== --- projects/specific_leg/sys/arm/arm/locore.S Fri Dec 20 15:46:24 2013 (r259652) +++ projects/specific_leg/sys/arm/arm/locore.S Fri Dec 20 15:57:15 2013 (r259653) @@ -211,10 +211,10 @@ mmu_done: ldr pc, .Lvirt_done virt_done: - mov r1, #20 /* loader info size is 20 bytes also second arg */ + mov r1, #28 /* loader info size is 28 bytes also second arg */ subs sp, sp, r1 /* allocate arm_boot_params struct on stack */ - bic sp, sp, #7 /* align stack to 8 bytes */ mov r0, sp /* loader info pointer is first arg */ + bic sp, sp, #7 /* align stack to 8 bytes */ str r1, [r0] /* Store length of loader info */ str r9, [r0, #4] /* Store r0 from boot loader */ str r8, [r0, #8] /* Store r1 from boot loader */ Modified: projects/specific_leg/sys/arm/include/cpu.h ============================================================================== --- projects/specific_leg/sys/arm/include/cpu.h Fri Dec 20 15:46:24 2013 (r259652) +++ projects/specific_leg/sys/arm/include/cpu.h Fri Dec 20 15:57:15 2013 (r259653) @@ -35,6 +35,11 @@ get_cyclecount(void) extern vm_offset_t vector_page; +/* + * Params passed into initarm. If you change the size of this you will + * need to update locore.S to allocate more memory on the stack before + * it calls initarm. + */ struct arm_boot_params { register_t abp_size; /* Size of this structure */ register_t abp_r0; /* r0 from the boot loader */ From owner-svn-src-projects@FreeBSD.ORG Fri Dec 20 15:58:33 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BAC5FF57; Fri, 20 Dec 2013 15:58:33 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A72CB1043; Fri, 20 Dec 2013 15:58:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBKFwXl3020736; Fri, 20 Dec 2013 15:58:33 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBKFwXqx020735; Fri, 20 Dec 2013 15:58:33 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312201558.rBKFwXqx020735@svn.freebsd.org> From: Andrew Turner Date: Fri, 20 Dec 2013 15:58:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259654 - projects/specific_leg/sys/arm/arm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Dec 2013 15:58:33 -0000 Author: andrew Date: Fri Dec 20 15:58:33 2013 New Revision: 259654 URL: http://svnweb.freebsd.org/changeset/base/259654 Log: Correctly set preload_end. This was missed in r259648. Modified: projects/specific_leg/sys/arm/arm/machdep.c Modified: projects/specific_leg/sys/arm/arm/machdep.c ============================================================================== --- projects/specific_leg/sys/arm/arm/machdep.c Fri Dec 20 15:57:15 2013 (r259653) +++ projects/specific_leg/sys/arm/arm/machdep.c Fri Dec 20 15:58:33 2013 (r259654) @@ -868,6 +868,8 @@ build_fake_preload_metadata(struct arm_b } else #endif lastaddr = (vm_offset_t)&end; + if (preload_end) + *preload_end = &fake_preload[i]; fake_preload[i++] = 0; fake_preload[i] = 0; preload_metadata = (void *)fake_preload; From owner-svn-src-projects@FreeBSD.ORG Fri Dec 20 16:15:25 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BC3C4B67; Fri, 20 Dec 2013 16:15:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A772C11B1; Fri, 20 Dec 2013 16:15:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBKGFPhi028812; Fri, 20 Dec 2013 16:15:25 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBKGFPO8028811; Fri, 20 Dec 2013 16:15:25 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312201615.rBKGFPO8028811@svn.freebsd.org> From: Andrew Turner Date: Fri, 20 Dec 2013 16:15:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259656 - projects/specific_leg/sys/arm/arm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Dec 2013 16:15:25 -0000 Author: andrew Date: Fri Dec 20 16:15:25 2013 New Revision: 259656 URL: http://svnweb.freebsd.org/changeset/base/259656 Log: - Fix a style bug, preload_end is not a boolean. - Fix a logic inversion when checking if we are using the Linux ATAG ABI. - Or in MODINFO_METADATA to the fake loader data so we can find the dtb. Modified: projects/specific_leg/sys/arm/arm/machdep.c Modified: projects/specific_leg/sys/arm/arm/machdep.c ============================================================================== --- projects/specific_leg/sys/arm/arm/machdep.c Fri Dec 20 16:01:02 2013 (r259655) +++ projects/specific_leg/sys/arm/arm/machdep.c Fri Dec 20 16:15:25 2013 (r259656) @@ -868,7 +868,7 @@ build_fake_preload_metadata(struct arm_b } else #endif lastaddr = (vm_offset_t)&end; - if (preload_end) + if (preload_end != NULL) *preload_end = &fake_preload[i]; fake_preload[i++] = 0; fake_preload[i] = 0; @@ -934,7 +934,7 @@ linux_parse_boot_param(struct arm_boot_p #undef BOOT_PARAM_ADDR walker = data; - if (ATAG_TAG(walker) != ATAG_CORE) { + if (ATAG_TAG(walker) == ATAG_CORE) { /* TODO: Test this */ #if 0 atag_list = walker; @@ -988,7 +988,7 @@ linux_parse_boot_param(struct arm_boot_p /* Move the fdt data to lastaddr */ fdt_move(data, (void *)lastaddr, fdt_len); - preload_end[0] = MODINFOMD_DTBP; + preload_end[0] = MODINFO_METADATA | MODINFOMD_DTBP; preload_end[1] = sizeof(vm_offset_t); preload_end[2] = lastaddr; preload_end[3] = 0; From owner-svn-src-projects@FreeBSD.ORG Fri Dec 20 16:50:53 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A0659DA7; Fri, 20 Dec 2013 16:50:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 73AF314F8; Fri, 20 Dec 2013 16:50:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBKGorNB042803; Fri, 20 Dec 2013 16:50:53 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBKGor2T042802; Fri, 20 Dec 2013 16:50:53 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312201650.rBKGor2T042802@svn.freebsd.org> From: Andrew Turner Date: Fri, 20 Dec 2013 16:50:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259658 - projects/specific_leg/sys/arm/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Dec 2013 16:50:53 -0000 Author: andrew Date: Fri Dec 20 16:50:52 2013 New Revision: 259658 URL: http://svnweb.freebsd.org/changeset/base/259658 Log: Update the GENERIC kernel to comment out sc and related optoins, and to add the CPU_CORTEXA cpu. With this I can boot the same kernel on a Raspberry Pi, and a Panda Board. Modified: projects/specific_leg/sys/arm/conf/GENERIC Modified: projects/specific_leg/sys/arm/conf/GENERIC ============================================================================== --- projects/specific_leg/sys/arm/conf/GENERIC Fri Dec 20 16:37:03 2013 (r259657) +++ projects/specific_leg/sys/arm/conf/GENERIC Fri Dec 20 16:50:52 2013 (r259658) @@ -23,6 +23,7 @@ ident GENERIC # This kernel supports ARMv6 and later machine arm armv6 cpu CPU_ARM1176 +cpu CPU_CORTEXA files "../broadcom/bcm2835/files.bcm2835" files "../ti/omap4/files.omap4" @@ -87,12 +88,12 @@ device pl310 # PL310 L2 cache contro device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) -device kbdmux # keyboard multiplexer +#device kbdmux # keyboard multiplexer # syscons is the default console driver, resembling an SCO console -device sc -options SC_DFLT_FONT # compile font in -makeoptions SC_DFLT_FONT=cp437 +#device sc +#options SC_DFLT_FONT # compile font in +#makeoptions SC_DFLT_FONT=cp437 # Serial (COM) ports device uart # Generic UART driver @@ -120,13 +121,13 @@ device bpf # Berkeley packet filter # USB support options USB_DEBUG # enable debug msgs # One or more of these break RPi -#device uhci # UHCI USB interface -#device ohci # OHCI USB interface -#device ehci # EHCI USB interface (USB 2.0) +device uhci # UHCI USB interface +device ohci # OHCI USB interface +device ehci # EHCI USB interface (USB 2.0) #device xhci # XHCI USB interface (USB 3.0) device dwcotg # DWC OTG controller device usb # USB Bus (required) -device ukbd # Keyboard +#device ukbd # Keyboard device umass # Disks/Mass storage - Requires scbus and da # MMC/SD/SDIO Card slot support