CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/bcm53xx
Module Name:src Committed By: matt Date: Fri Jul 17 20:32:27 UTC 2015 Modified Files: src/sys/arch/evbarm/bcm53xx [matt-nb5-mips64]: bcm53xx_machdep.c Log Message: Deal with 1GB of memory. To generate a diff of this commit: cvs rdiff -u -r1.7.4.3 -r1.7.4.4 \ src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c diff -u src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.7.4.3 src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.7.4.4 --- src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.7.4.3 Wed Mar 26 02:15:02 2014 +++ src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c Fri Jul 17 20:32:27 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm53xx_machdep.c,v 1.7.4.3 2014/03/26 02:15:02 matt Exp $ */ +/* $NetBSD: bcm53xx_machdep.c,v 1.7.4.4 2015/07/17 20:32:27 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #define IDM_PRIVATE #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: bcm53xx_machdep.c,v 1.7.4.3 2014/03/26 02:15:02 matt Exp $); +__KERNEL_RCSID(0, $NetBSD: bcm53xx_machdep.c,v 1.7.4.4 2015/07/17 20:32:27 matt Exp $); #include opt_evbarm_boardtype.h #include opt_broadcom.h @@ -258,6 +258,20 @@ initarm(void *arg) #endif const bool bigmem_p = (memsize PGSHIFT) bp_first256.bp_pages; +#ifdef __HAVE_MM_MD_DIRECT_MAPPED_PHYS + const bool mapallmem_p = true; +#ifndef PMAP_NEED_ALLOC_POOLPAGE + if (memsize KERNEL_VM_BASE - KERNEL_BASE) { + printf(%s: dropping RAM size from %luMB to %uMB\n, + __func__, (unsigned long) (ram_size 20), + (KERNEL_VM_BASE - KERNEL_BASE) 20); + memsize = KERNEL_VM_BASE - KERNEL_BASE; + } +#endif +#else + const bool mapallmem_p = false; +#endif + KASSERT((armreg_pfr1_read() ARM_PFR1_SEC_MASK) != 0); arm32_bootmem_init(KERN_VTOPHYS(KERNEL_BASE), memsize, (paddr_t)KERNEL_BASE_phys); @@ -273,7 +287,8 @@ initarm(void *arg) * abtstack, undstack, kernelstack, msgbufphys will be set to point to * the memory that was allocated for them. */ - arm32_kernel_vm_init(KERNEL_VM_BASE, ARM_VECTORS_HIGH, 0, devmap, true); + arm32_kernel_vm_init(KERNEL_VM_BASE, ARM_VECTORS_HIGH, 0, devmap, + mapallmem_p); cpu_reset_address = bcm53xx_system_reset; /* we've a specific device_register routine */
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/conf
Module Name:src Committed By: matt Date: Thu Mar 27 00:28:48 UTC 2014 Modified Files: src/sys/arch/evbarm/conf [matt-nb5-mips64]: std.bcm53xx Log Message: Add ARM_HAS_VBAR To generate a diff of this commit: cvs rdiff -u -r1.13.2.3 -r1.13.2.4 src/sys/arch/evbarm/conf/std.bcm53xx Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/conf/std.bcm53xx diff -u src/sys/arch/evbarm/conf/std.bcm53xx:1.13.2.3 src/sys/arch/evbarm/conf/std.bcm53xx:1.13.2.4 --- src/sys/arch/evbarm/conf/std.bcm53xx:1.13.2.3 Sat Feb 15 17:50:02 2014 +++ src/sys/arch/evbarm/conf/std.bcm53xx Thu Mar 27 00:28:48 2014 @@ -1,4 +1,4 @@ -# $NetBSD: std.bcm53xx,v 1.13.2.3 2014/02/15 17:50:02 matt Exp $ +# $NetBSD: std.bcm53xx,v 1.13.2.4 2014/03/27 00:28:48 matt Exp $ # # standard NetBSD/evbarm for BCM5301X options @@ -14,6 +14,7 @@ options CORTEX_PMC options _ARM32_NEED_BUS_DMA_BOUNCE options PMAP_NEED_ALLOC_POOLPAGE options __HAVE_FAST_SOFTINTS # should be in types.h +options ARM_HAS_VBAR options __HAVE_CPU_UAREA_ALLOC_IDLELWP options __HAVE_CPU_COUNTER options __HAVE_PCI_CONF_HOOK
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/bcm53xx
Module Name:src Committed By: matt Date: Wed Mar 26 02:15:02 UTC 2014 Modified Files: src/sys/arch/evbarm/bcm53xx [matt-nb5-mips64]: bcm53xx_machdep.c Log Message: Use apb/4 for the com freq on !BCM5301X To generate a diff of this commit: cvs rdiff -u -r1.7.4.2 -r1.7.4.3 \ src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c diff -u src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.7.4.2 src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.7.4.3 --- src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.7.4.2 Sat Feb 15 16:18:37 2014 +++ src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c Wed Mar 26 02:15:02 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm53xx_machdep.c,v 1.7.4.2 2014/02/15 16:18:37 matt Exp $ */ +/* $NetBSD: bcm53xx_machdep.c,v 1.7.4.3 2014/03/26 02:15:02 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #define IDM_PRIVATE #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: bcm53xx_machdep.c,v 1.7.4.2 2014/02/15 16:18:37 matt Exp $); +__KERNEL_RCSID(0, $NetBSD: bcm53xx_machdep.c,v 1.7.4.3 2014/03/26 02:15:02 matt Exp $); #include opt_evbarm_boardtype.h #include opt_broadcom.h @@ -330,14 +330,20 @@ consinit(void) /* * Switch to the reference clock */ +#ifdef BCM5301X + const int comfreq = BCM53XX_REF_CLK; v = bus_space_read_4(bcm53xx_ioreg_bst, bcm53xx_ioreg_bsh, CCA_MISC_BASE + MISC_CORECTL); v = ~CORECTL_UART_CLK_OVERRIDE; bus_space_write_4(bcm53xx_ioreg_bst, bcm53xx_ioreg_bsh, CCA_MISC_BASE + MISC_CORECTL, v); +#else + const struct cpu_softc * const cpu = curcpu()-ci_softc; + const int comfreq = cpu-cpu_clk.clk_apb / 4; +#endif if (comcnattach(bcm53xx_ioreg_bst, comcnaddr, comcnspeed, -BCM53XX_REF_CLK, COM_TYPE_NORMAL, comcnmode)) +comfreq, COM_TYPE_NORMAL, comcnmode)) panic(Serial console can not be initialized.); }
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/bcm53xx
Module Name:src Committed By: matt Date: Wed Mar 26 02:16:05 UTC 2014 Modified Files: src/sys/arch/evbarm/bcm53xx [matt-nb5-mips64]: bcm53xx_start.S Log Message: Use adr/bfi to access kernel variables. To generate a diff of this commit: cvs rdiff -u -r1.10.2.2 -r1.10.2.3 \ src/sys/arch/evbarm/bcm53xx/bcm53xx_start.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/bcm53xx/bcm53xx_start.S diff -u src/sys/arch/evbarm/bcm53xx/bcm53xx_start.S:1.10.2.2 src/sys/arch/evbarm/bcm53xx/bcm53xx_start.S:1.10.2.3 --- src/sys/arch/evbarm/bcm53xx/bcm53xx_start.S:1.10.2.2 Sat Feb 15 16:18:37 2014 +++ src/sys/arch/evbarm/bcm53xx/bcm53xx_start.S Wed Mar 26 02:16:05 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm53xx_start.S,v 1.10.2.2 2014/02/15 16:18:37 matt Exp $ */ +/* $NetBSD: bcm53xx_start.S,v 1.10.2.3 2014/03/26 02:16:05 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -45,7 +45,7 @@ #define CONADDR 0x18000300 #endif -RCSID($NetBSD: bcm53xx_start.S,v 1.10.2.2 2014/02/15 16:18:37 matt Exp $) +RCSID($NetBSD: bcm53xx_start.S,v 1.10.2.3 2014/03/26 02:16:05 matt Exp $) #undef VERBOSE_INIT_ARM #define VERBOSE_INIT_ARM @@ -74,10 +74,14 @@ _C_LABEL(bcm53xx_start): /* * Save any arguments u-boot passed us. */ - ldr r4, .Luboot_args_pic0 - add r4, r4, pc +#ifdef KERNEL_BASES_EQUAL + ldr r4, .Luboot_args +#else + adr r4, bcm53xx_start + ldr r5, .Luboot_args + bfi r4, r5, #0, #28 +#endif stmia r4, {r0-r3} -.LPIC0: /* * Let's turn on the CCA watchdog in case something goes horribly wrong. @@ -121,15 +125,6 @@ _C_LABEL(bcm53xx_start): XPUTC(#89) - ldr r0, .Luboot_args - ldr r2, [r0] - ldr r1, .Luboot_args_pic1 - add r1, r1, pc - ldr r1, [r1] -.LPIC1: - cmp r1, r2 -1: bne 1b - XPUTC(#90) /* @@ -153,10 +148,6 @@ _C_LABEL(bcm53xx_start): nop /* NOTREACHED */ -.Luboot_args_pic0: - .word uboot_args - .LPIC0 -.Luboot_args_pic1: - .word uboot_args - .LPIC0 .Luboot_args: .word uboot_args .Lstart:
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm
Module Name:src Committed By: matt Date: Mon Mar 24 18:46:38 UTC 2014 Modified Files: src/sys/arch/evbarm/conf [matt-nb5-mips64]: Makefile.evbarm.inc Added Files: src/sys/arch/evbarm/conf [matt-nb5-mips64]: CUBIEBOARD CUBIEBOARD_INSTALL files.cubie mk.cubie std.cubie src/sys/arch/evbarm/cubie [matt-nb5-mips64]: cubie_machdep.c cubie_start.S genassym.cf platform.h Log Message: Add cubie from HEAD To generate a diff of this commit: cvs rdiff -u -r0 -r1.10.2.2 src/sys/arch/evbarm/conf/CUBIEBOARD cvs rdiff -u -r0 -r1.1.2.2 src/sys/arch/evbarm/conf/CUBIEBOARD_INSTALL \ src/sys/arch/evbarm/conf/files.cubie cvs rdiff -u -r1.19.12.1 -r1.19.12.2 \ src/sys/arch/evbarm/conf/Makefile.evbarm.inc cvs rdiff -u -r0 -r1.3.2.2 src/sys/arch/evbarm/conf/mk.cubie \ src/sys/arch/evbarm/conf/std.cubie cvs rdiff -u -r0 -r1.14.2.2 src/sys/arch/evbarm/cubie/cubie_machdep.c cvs rdiff -u -r0 -r1.6.2.2 src/sys/arch/evbarm/cubie/cubie_start.S cvs rdiff -u -r0 -r1.1.2.2 src/sys/arch/evbarm/cubie/genassym.cf cvs rdiff -u -r0 -r1.2.2.2 src/sys/arch/evbarm/cubie/platform.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/conf/Makefile.evbarm.inc diff -u src/sys/arch/evbarm/conf/Makefile.evbarm.inc:1.19.12.1 src/sys/arch/evbarm/conf/Makefile.evbarm.inc:1.19.12.2 --- src/sys/arch/evbarm/conf/Makefile.evbarm.inc:1.19.12.1 Sat Feb 15 16:18:37 2014 +++ src/sys/arch/evbarm/conf/Makefile.evbarm.inc Mon Mar 24 18:46:38 2014 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.evbarm.inc,v 1.19.12.1 2014/02/15 16:18:37 matt Exp $ +# $NetBSD: Makefile.evbarm.inc,v 1.19.12.2 2014/03/24 18:46:38 matt Exp $ # # If this is a install kernel and the ramdisk image exists in the object @@ -22,6 +22,11 @@ SYSTEM_LD_TAIL_EXTRA+=; \ EXTRA_CLEAN+= ldscript tmp ${KERNELS:=.map} +.if defined(KERNEL_BASE_PHYS) defined(KERNEL_BASE_VIRT) \ + ${KERNEL_BASE_PHYS} == ${KERNEL_BASE_VIRT} +CPPFLAGS+=-DKERNEL_BASES_EQUAL +.endif + .if defined(KERNEL_BASE_PHYS) LINKTEXT= KERNLDSCRIPT= ldscript Added files: Index: src/sys/arch/evbarm/conf/CUBIEBOARD diff -u /dev/null src/sys/arch/evbarm/conf/CUBIEBOARD:1.10.2.2 --- /dev/null Mon Mar 24 18:46:38 2014 +++ src/sys/arch/evbarm/conf/CUBIEBOARD Mon Mar 24 18:46:38 2014 @@ -0,0 +1,297 @@ +# +# $NetBSD: CUBIEBOARD,v 1.10.2.2 2014/03/24 18:46:38 matt Exp $ +# +# CUBIEBOARD -- Allwinner A10/A20 Eval Board Kernel +# + +include arch/evbarm/conf/std.cubie + +# estimated number of users + +maxusers 32 + +# Standard system options + +options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT +#options NTP # NTP phase/frequency locked loop + +# CPU options + +#options UVMHIST,UVMHIST_PRINT +options CPU_CORTEXA8 +options CPU_CORTEXA7 +options ALLWINNER_A10 +options ALLWINNER_A20 +options PMAPCOUNTERS +options AWIN_CONSOLE_EARLY + +# Architecture options + +# File systems + +file-system FFS # UFS +#file-system LFS # log-structured file system +file-system MFS # memory file system +file-system NFS # Network file system +#file-system ADOSFS # AmigaDOS-compatible file system +#file-system EXT2FS # second extended file system (linux) +#file-system CD9660 # ISO 9660 + Rock Ridge file system +file-system MSDOSFS # MS-DOS file system +#file-system FDESC # /dev/fd +file-system KERNFS # /kern +#file-system NULLFS # loopback file system +file-system PROCFS # /proc +#file-system PUFFS # Userspace file systems (e.g. ntfs-3g sshfs) +#file-system UMAPFS # NULLFS + uid and gid remapping +#file-system UNION # union file system +file-system TMPFS # memory file system +file-system PTYFS # /dev/pts/N support + +# File system options +#options QUOTA # legacy UFS quotas +#options QUOTA2 # new, in-filesystem UFS quotas +#options FFS_EI # FFS Endian Independent support +#options NFSSERVER +options WAPBL # File system journaling support +#options FFS_NO_SNAPSHOT # No FFS snapshot support + +# Networking options + +#options GATEWAY # packet forwarding +options INET # IP + ICMP + TCP + UDP +options INET6 # IPV6 +#options IPSEC # IP security +#options IPSEC_DEBUG # debug for IP security +#options MROUTING # IP multicast routing +#options PIM # Protocol Independent Multicast +#options NETATALK # AppleTalk networking +#options PPP_BSDCOMP # BSD-Compress compression support for PPP +#options PPP_DEFLATE # Deflate compression support for PPP +#options PPP_FILTER # Active filter support for PPP (requires bpf) +#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG + +options NFS_BOOT_BOOTP +options NFS_BOOT_DHCP +#options NFS_BOOT_BOOTSTATIC +#options NFS_BOOTSTATIC_MYIP=\192.168.1.4\ +#options NFS_BOOTSTATIC_GWIP=\192.168.1.1\ +#options NFS_BOOTSTATIC_MASK=\255.255.255.0\ +#options NFS_BOOTSTATIC_SERVADDR=\192.168.1.1\ +#options NFS_BOOTSTATIC_SERVER=\192.168.1.1:/nfs/sdp2430\ + +options
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/include
Module Name:src Committed By: matt Date: Sat Feb 15 17:50:31 UTC 2014 Modified Files: src/sys/arch/evbarm/include [matt-nb5-mips64]: vmparam.h Log Message: Export VM_*FREELIST To generate a diff of this commit: cvs rdiff -u -r1.25.18.2 -r1.25.18.3 src/sys/arch/evbarm/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/include/vmparam.h diff -u src/sys/arch/evbarm/include/vmparam.h:1.25.18.2 src/sys/arch/evbarm/include/vmparam.h:1.25.18.3 --- src/sys/arch/evbarm/include/vmparam.h:1.25.18.2 Sat Feb 15 16:18:37 2014 +++ src/sys/arch/evbarm/include/vmparam.h Sat Feb 15 17:50:31 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.25.18.2 2014/02/15 16:18:37 matt Exp $ */ +/* $NetBSD: vmparam.h,v 1.25.18.3 2014/02/15 17:50:31 matt Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. @@ -64,6 +64,7 @@ /* virtual sizes (bytes) for various kernel submaps */ #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) +#endif /* _KERNEL || _KMEMUSER */ /* * max number of non-contig chunks of physical RAM you can have @@ -90,6 +91,5 @@ #define VM_FREELIST_DEFAULT 0 #define VM_FREELIST_ISADMA 1 -#endif /* _KERNEL || _KMEMUSER */ #endif /* _EVBARM_VMPARAM_H_ */
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/conf
Module Name:src Committed By: matt Date: Sat Feb 15 17:50:02 UTC 2014 Modified Files: src/sys/arch/evbarm/conf [matt-nb5-mips64]: std.bcm53xx Log Message: remove __HAVE_ATOMIC64_OPS (it's in types.h now) To generate a diff of this commit: cvs rdiff -u -r1.13.2.2 -r1.13.2.3 src/sys/arch/evbarm/conf/std.bcm53xx Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/conf/std.bcm53xx diff -u src/sys/arch/evbarm/conf/std.bcm53xx:1.13.2.2 src/sys/arch/evbarm/conf/std.bcm53xx:1.13.2.3 --- src/sys/arch/evbarm/conf/std.bcm53xx:1.13.2.2 Sat Feb 15 16:18:37 2014 +++ src/sys/arch/evbarm/conf/std.bcm53xx Sat Feb 15 17:50:02 2014 @@ -1,4 +1,4 @@ -# $NetBSD: std.bcm53xx,v 1.13.2.2 2014/02/15 16:18:37 matt Exp $ +# $NetBSD: std.bcm53xx,v 1.13.2.3 2014/02/15 17:50:02 matt Exp $ # # standard NetBSD/evbarm for BCM5301X options @@ -16,7 +16,6 @@ options PMAP_NEED_ALLOC_POOLPAGE options __HAVE_FAST_SOFTINTS # should be in types.h options __HAVE_CPU_UAREA_ALLOC_IDLELWP options __HAVE_CPU_COUNTER -options __HAVE_ATOMIC64_OPS options __HAVE_PCI_CONF_HOOK options TPIDRPRW_IS_CURCPU options KERNEL_BASE_EXT=0x8000
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/include
Module Name:src Committed By: matt Date: Thu Dec 19 01:18:01 UTC 2013 Modified Files: src/sys/arch/evbarm/include [matt-nb5-mips64]: vmparam.h Log Message: compat in libc needs some uvm stuff which needs VM_NFREELIST defined. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.25.18.1 src/sys/arch/evbarm/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/include/vmparam.h diff -u src/sys/arch/evbarm/include/vmparam.h:1.25 src/sys/arch/evbarm/include/vmparam.h:1.25.18.1 --- src/sys/arch/evbarm/include/vmparam.h:1.25 Sun Apr 27 18:58:46 2008 +++ src/sys/arch/evbarm/include/vmparam.h Thu Dec 19 01:18:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.25 2008/04/27 18:58:46 matt Exp $ */ +/* $NetBSD: vmparam.h,v 1.25.18.1 2013/12/19 01:18:01 matt Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. @@ -32,7 +32,7 @@ #ifndef _ARM32_VMPARAM_H_ #define _ARM32_VMPARAM_H_ -#ifdef _KERNEL +#if defined(_KERNEL) || 1 #include arm/arm32/vmparam.h
CVS commit: [matt-nb5-mips64] src/sys/arch/evbarm/stand/gzboot
Module Name:src Committed By: matt Date: Thu Dec 19 01:18:44 UTC 2013 Modified Files: src/sys/arch/evbarm/stand/gzboot [matt-nb5-mips64]: Makefile Log Message: Make endian check more generic To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.9.10.1 src/sys/arch/evbarm/stand/gzboot/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/stand/gzboot/Makefile diff -u src/sys/arch/evbarm/stand/gzboot/Makefile:1.9 src/sys/arch/evbarm/stand/gzboot/Makefile:1.9.10.1 --- src/sys/arch/evbarm/stand/gzboot/Makefile:1.9 Thu Oct 30 15:33:42 2008 +++ src/sys/arch/evbarm/stand/gzboot/Makefile Thu Dec 19 01:18:44 2013 @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.9 2008/10/30 15:33:42 cliff Exp $ +# $NetBSD: Makefile,v 1.9.10.1 2013/12/19 01:18:44 matt Exp $ -.if ${MACHINE_ARCH} == arm +.if ${MACHINE_ARCH:Marm*eb} == # Little endian platforms SUBDIR= ADI_BRH_flash_0x0014 SUBDIR+= GEMINI_dram_0x0160