summaryrefslogtreecommitdiff
path: root/sys/arch/armv7
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/armv7')
-rw-r--r--sys/arch/armv7/armv7/armv7_machdep.c23
-rw-r--r--sys/arch/armv7/armv7/armv7_machdep.h3
-rw-r--r--sys/arch/armv7/conf/GENERIC-IMX9
-rw-r--r--sys/arch/armv7/conf/GENERIC-OMAP5
-rw-r--r--sys/arch/armv7/conf/GENERIC-SUNXI9
-rw-r--r--sys/arch/armv7/conf/Makefile.armv77
-rw-r--r--sys/arch/armv7/conf/RAMDISK-IMX9
-rw-r--r--sys/arch/armv7/conf/RAMDISK-OMAP5
-rw-r--r--sys/arch/armv7/conf/RAMDISK-SUNXI9
-rw-r--r--sys/arch/armv7/imx/imx_machdep.c19
-rw-r--r--sys/arch/armv7/omap/omap_machdep.c42
-rw-r--r--sys/arch/armv7/sunxi/sunxi_machdep.c27
12 files changed, 43 insertions, 124 deletions
diff --git a/sys/arch/armv7/armv7/armv7_machdep.c b/sys/arch/armv7/armv7/armv7_machdep.c
index 6bb8746ad9b..6e8087ee38d 100644
--- a/sys/arch/armv7/armv7/armv7_machdep.c
+++ b/sys/arch/armv7/armv7/armv7_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: armv7_machdep.c,v 1.22 2015/05/15 15:35:43 jsg Exp $ */
+/* $OpenBSD: armv7_machdep.c,v 1.23 2015/05/19 00:05:59 jsg Exp $ */
/* $NetBSD: lubbock_machdep.c,v 1.2 2003/07/15 00:25:06 lukem Exp $ */
/*
@@ -209,6 +209,7 @@ int bootstrap_bs_map(void *, bus_addr_t, bus_size_t, int,
void process_kernel_args(char *);
void parse_uboot_tags(void *);
void consinit(void);
+void bootconfig_dram(BootConfig *, psize_t *, psize_t *);
bs_protos(bs_notimpl);
@@ -437,7 +438,7 @@ initarm(void *arg0, void *arg1, void *arg2)
#endif /* RAMDISK_HOOKS */
/* normally u-boot will set up bootconfig.dramblocks */
- platform_bootconfig_dram(&bootconfig, &memstart, &memsize);
+ bootconfig_dram(&bootconfig, &memstart, &memsize);
/*
* Set up the variables that define the availablilty of
@@ -849,3 +850,21 @@ board_startup(void)
#endif
}
}
+
+void
+bootconfig_dram(BootConfig *bootconfig, psize_t *memstart, psize_t *memsize)
+{
+ int loop;
+
+ if (bootconfig->dramblocks == 0)
+ panic("%s: dramblocks not set up!", __func__);
+
+ *memstart = bootconfig->dram[0].address;
+ *memsize = bootconfig->dram[0].pages * PAGE_SIZE;
+ printf("memory size derived from u-boot\n");
+ for (loop = 0; loop < bootconfig->dramblocks; loop++) {
+ printf("bootconf.mem[%d].address = %08x pages %d/0x%08x\n",
+ loop, bootconfig->dram[loop].address, bootconfig->dram[loop].pages,
+ bootconfig->dram[loop].pages * PAGE_SIZE);
+ }
+}
diff --git a/sys/arch/armv7/armv7/armv7_machdep.h b/sys/arch/armv7/armv7/armv7_machdep.h
index 0243a8a4682..02fb5f033c8 100644
--- a/sys/arch/armv7/armv7/armv7_machdep.h
+++ b/sys/arch/armv7/armv7/armv7_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: armv7_machdep.h,v 1.2 2015/05/15 15:35:43 jsg Exp $ */
+/* $OpenBSD: armv7_machdep.h,v 1.3 2015/05/19 00:05:59 jsg Exp $ */
/*
* Copyright (c) 2013 Sylvestre Gallon <ccna.syl@gmail.com>
*
@@ -22,7 +22,6 @@ void platform_powerdown(void);
void platform_watchdog_reset(void);
void platform_init_cons(void);
const char *platform_board_name(void);
-void platform_bootconfig_dram(BootConfig *, psize_t *, psize_t *);
void platform_disable_l2_if_needed(void);
extern const char *platform_boot_name;
diff --git a/sys/arch/armv7/conf/GENERIC-IMX b/sys/arch/armv7/conf/GENERIC-IMX
index 4276c42b46a..d5b548b2e33 100644
--- a/sys/arch/armv7/conf/GENERIC-IMX
+++ b/sys/arch/armv7/conf/GENERIC-IMX
@@ -1,4 +1,4 @@
-# $OpenBSD: GENERIC-IMX,v 1.12 2015/04/16 09:09:49 mpi Exp $
+# $OpenBSD: GENERIC-IMX,v 1.13 2015/05/19 00:05:59 jsg Exp $
#
# GENERIC machine description file
#
@@ -21,11 +21,8 @@
machine armv7 arm
include "../../../conf/GENERIC"
-makeoptions KERNEL_BASE_PHYS="0x10800000"
-makeoptions KERNEL_BASE_VIRT="0xc0800000"
-options BUILD_STARTUP_PAGETABLE
-options STARTUP_PAGETABLE_ADDR=0x10200000
-options SDRAM_START="0x10000000"
+makeoptions KERNEL_BASE_PHYS="0x10300000"
+makeoptions KERNEL_BASE_VIRT="0xc0300000"
#options APERTURE
diff --git a/sys/arch/armv7/conf/GENERIC-OMAP b/sys/arch/armv7/conf/GENERIC-OMAP
index c31c91ef8ad..1209f346816 100644
--- a/sys/arch/armv7/conf/GENERIC-OMAP
+++ b/sys/arch/armv7/conf/GENERIC-OMAP
@@ -1,4 +1,4 @@
-# $OpenBSD: GENERIC-OMAP,v 1.15 2015/04/16 09:09:49 mpi Exp $
+# $OpenBSD: GENERIC-OMAP,v 1.16 2015/05/19 00:05:59 jsg Exp $
#
# GENERIC machine description file
#
@@ -23,9 +23,6 @@ include "../../../conf/GENERIC"
makeoptions KERNEL_BASE_PHYS="0x80300000"
makeoptions KERNEL_BASE_VIRT="0xc0300000"
-options BUILD_STARTUP_PAGETABLE
-options STARTUP_PAGETABLE_ADDR=0x80200000
-options SDRAM_START="0x80000000"
option CONF_HAVE_GPIO
diff --git a/sys/arch/armv7/conf/GENERIC-SUNXI b/sys/arch/armv7/conf/GENERIC-SUNXI
index 8db66cf173f..4a6536822c6 100644
--- a/sys/arch/armv7/conf/GENERIC-SUNXI
+++ b/sys/arch/armv7/conf/GENERIC-SUNXI
@@ -1,4 +1,4 @@
-# $OpenBSD: GENERIC-SUNXI,v 1.13 2015/04/16 09:09:49 mpi Exp $
+# $OpenBSD: GENERIC-SUNXI,v 1.14 2015/05/19 00:05:59 jsg Exp $
#
# GENERIC machine description file
#
@@ -21,11 +21,8 @@
machine armv7 arm
include "../../../conf/GENERIC"
-makeoptions KERNEL_BASE_PHYS="0x40800000"
-makeoptions KERNEL_BASE_VIRT="0xc0800000"
-options BUILD_STARTUP_PAGETABLE
-options STARTUP_PAGETABLE_ADDR=0x40200000
-options SDRAM_START="0x40000000"
+makeoptions KERNEL_BASE_PHYS="0x40300000"
+makeoptions KERNEL_BASE_VIRT="0xc0300000"
option CONF_HAVE_GPIO
diff --git a/sys/arch/armv7/conf/Makefile.armv7 b/sys/arch/armv7/conf/Makefile.armv7
index 3b27b9d2a58..417492e9a7e 100644
--- a/sys/arch/armv7/conf/Makefile.armv7
+++ b/sys/arch/armv7/conf/Makefile.armv7
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.armv7,v 1.7 2015/01/13 01:12:49 deraadt Exp $
+# $OpenBSD: Makefile.armv7,v 1.8 2015/05/19 00:05:59 jsg Exp $
# For instructions on building kernels consult the config(8) and options(4)
# manual pages.
@@ -72,8 +72,9 @@ SYSTEM_DEP= Makefile ${SYSTEM_OBJ}
SYSTEM_LD_HEAD= @rm -f $@
SYSTEM_LD_HEAD+=; \
cat ${_archdir}/conf/ldscript.head ${_archdir}/conf/ldscript.tail | \
- sed -e 's/@KERNEL_BASE_PHYS@/${KERNEL_BASE_PHYS}/' \
- -e 's/@KERNEL_BASE_VIRT@/${KERNEL_BASE_VIRT}/' > ldscript
+ sed -e 's/@KERNEL_BASE_PHYS@/0/' \
+ -e 's/@KERNEL_BASE_VIRT@/${KERNEL_BASE_VIRT}/' \
+ -e 's/(KERNEL_BASE_phys)/(KERNEL_BASE_virt)/' > ldscript
SYSTEM_LD= @echo ${LD} ${LINKFLAGS} -o $@ '$${SYSTEM_HEAD} vers.o $${OBJS}'; \
${LD} ${LINKFLAGS} -o $@ ${SYSTEM_HEAD} vers.o ${OBJS}
diff --git a/sys/arch/armv7/conf/RAMDISK-IMX b/sys/arch/armv7/conf/RAMDISK-IMX
index 62ad730dacc..ce0d78149a3 100644
--- a/sys/arch/armv7/conf/RAMDISK-IMX
+++ b/sys/arch/armv7/conf/RAMDISK-IMX
@@ -1,4 +1,4 @@
-# $OpenBSD: RAMDISK-IMX,v 1.14 2015/01/04 20:55:38 uaa Exp $
+# $OpenBSD: RAMDISK-IMX,v 1.15 2015/05/19 00:05:59 jsg Exp $
machine armv7 arm
maxusers 4
@@ -20,11 +20,8 @@ option INET
option INET6
option EXT2FS
-makeoptions KERNEL_BASE_PHYS="0x10800000"
-makeoptions KERNEL_BASE_VIRT="0xc0800000"
-option BUILD_STARTUP_PAGETABLE
-option STARTUP_PAGETABLE_ADDR=0x10200000
-option SDRAM_START="0x10000000"
+makeoptions KERNEL_BASE_PHYS="0x10300000"
+makeoptions KERNEL_BASE_VIRT="0xc0300000"
option CPU_ARMv7 # Support the ARMv7
config bsd root on rd0a swap on rd0b
diff --git a/sys/arch/armv7/conf/RAMDISK-OMAP b/sys/arch/armv7/conf/RAMDISK-OMAP
index da15920bb36..aded0541b82 100644
--- a/sys/arch/armv7/conf/RAMDISK-OMAP
+++ b/sys/arch/armv7/conf/RAMDISK-OMAP
@@ -1,4 +1,4 @@
-# $OpenBSD: RAMDISK-OMAP,v 1.11 2014/11/04 12:26:09 jsg Exp $
+# $OpenBSD: RAMDISK-OMAP,v 1.12 2015/05/19 00:05:59 jsg Exp $
machine armv7 arm
maxusers 4
@@ -21,9 +21,6 @@ option INET6
makeoptions KERNEL_BASE_PHYS="0x80300000"
makeoptions KERNEL_BASE_VIRT="0xc0300000"
-option BUILD_STARTUP_PAGETABLE
-option STARTUP_PAGETABLE_ADDR=0x80200000
-option SDRAM_START="0x80000000"
option CPU_ARMv7 # Support the ARMv7
config bsd root on rd0a swap on rd0b
diff --git a/sys/arch/armv7/conf/RAMDISK-SUNXI b/sys/arch/armv7/conf/RAMDISK-SUNXI
index 58016169ec0..6d1f055c44d 100644
--- a/sys/arch/armv7/conf/RAMDISK-SUNXI
+++ b/sys/arch/armv7/conf/RAMDISK-SUNXI
@@ -1,4 +1,4 @@
-# $OpenBSD: RAMDISK-SUNXI,v 1.12 2014/11/24 02:03:37 brad Exp $
+# $OpenBSD: RAMDISK-SUNXI,v 1.13 2015/05/19 00:05:59 jsg Exp $
machine armv7 arm
maxusers 4
@@ -19,11 +19,8 @@ option MSDOSFS
option INET
option INET6
-makeoptions KERNEL_BASE_PHYS="0x40800000"
-makeoptions KERNEL_BASE_VIRT="0xc0800000"
-option BUILD_STARTUP_PAGETABLE
-option STARTUP_PAGETABLE_ADDR=0x40200000
-option SDRAM_START="0x40000000"
+makeoptions KERNEL_BASE_PHYS="0x40300000"
+makeoptions KERNEL_BASE_VIRT="0xc0300000"
option CPU_ARMv7 # Support the ARMv7
config bsd root on rd0a swap on rd0b
diff --git a/sys/arch/armv7/imx/imx_machdep.c b/sys/arch/armv7/imx/imx_machdep.c
index 67099f59145..ce90a8cf861 100644
--- a/sys/arch/armv7/imx/imx_machdep.c
+++ b/sys/arch/armv7/imx/imx_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: imx_machdep.c,v 1.13 2015/05/15 15:35:43 jsg Exp $ */
+/* $OpenBSD: imx_machdep.c,v 1.14 2015/05/19 00:05:59 jsg Exp $ */
/*
* Copyright (c) 2013 Sylvestre Gallon <ccna.syl@gmail.com>
*
@@ -98,23 +98,6 @@ platform_board_name(void)
}
void
-platform_bootconfig_dram(BootConfig *bootconfig, psize_t *memstart, psize_t *memsize)
-{
- if (bootconfig->dramblocks == 0) {
- *memstart = SDRAM_START;
- *memsize = 0x10000000; /* 256 MB */
- /* Fake bootconfig structure for the benefit of pmap.c */
- /* XXX must make the memory description h/w independant */
- bootconfig->dram[0].address = *memstart;
- bootconfig->dram[0].pages = *memsize / PAGE_SIZE;
- bootconfig->dramblocks = 1;
- } else {
- *memstart = bootconfig->dram[0].address;
- *memsize = bootconfig->dram[0].pages * PAGE_SIZE;
- }
-}
-
-void
platform_disable_l2_if_needed(void)
{
diff --git a/sys/arch/armv7/omap/omap_machdep.c b/sys/arch/armv7/omap/omap_machdep.c
index f3bb79d78e5..ca67d37d138 100644
--- a/sys/arch/armv7/omap/omap_machdep.c
+++ b/sys/arch/armv7/omap/omap_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: omap_machdep.c,v 1.4 2015/05/15 15:35:43 jsg Exp $ */
+/* $OpenBSD: omap_machdep.c,v 1.5 2015/05/19 00:05:59 jsg Exp $ */
/*
* Copyright (c) 2013 Sylvestre Gallon <ccna.syl@gmail.com>
*
@@ -96,46 +96,6 @@ platform_board_name(void)
}
void
-platform_bootconfig_dram(BootConfig *bootconfig, psize_t *memstart, psize_t *memsize)
-{
- uint32_t sdrc_mcfg_0, sdrc_mcfg_1, memsize0, memsize1;
- int loop;
-
- if (bootconfig->dramblocks == 0) {
- sdrc_mcfg_0 = *(uint32_t *)0x6d000080;
- sdrc_mcfg_1 = *(uint32_t *)0x6d0000b0;
- memsize0 = (((sdrc_mcfg_0 >> 8))&0x3ff) * (2 * 1024 * 1024);
- memsize1 = (((sdrc_mcfg_1 >> 8))&0x3ff) * (2 * 1024 * 1024);
- *memsize = memsize0 + memsize1;
-
- *memstart = SDRAM_START;
- *memsize = 0x02000000; /* 32MB */
- /* Fake bootconfig structure for the benefit of pmap.c */
- /* XXX must make the memory description h/w independant */
- bootconfig->dram[0].address = *memstart;
- bootconfig->dram[0].pages = memsize0 / PAGE_SIZE;
- bootconfig->dramblocks = 1;
- if (memsize1 != 0) {
- bootconfig->dram[1].address = bootconfig->dram[0].address
- + memsize0; /* XXX */
- bootconfig->dram[1].pages = memsize1 / PAGE_SIZE;
- bootconfig->dramblocks++; /* both banks populated */
- }
- } else {
- /* doesn't deal with multiple segments, hopefully u-boot collaped them into one */
- *memstart = bootconfig->dram[0].address;
- *memsize = bootconfig->dram[0].pages * PAGE_SIZE;
- printf("memory size derived from u-boot\n");
- for (loop = 0; loop < bootconfig->dramblocks; loop++) {
- printf("bootconf.mem[%d].address = %08x pages %d/0x%08x\n",
- loop, bootconfig->dram[0].address, bootconfig->dram[0].pages,
- bootconfig->dram[0].pages * PAGE_SIZE);
- }
- }
-
-}
-
-void
platform_disable_l2_if_needed(void)
{
switch (board_id) {
diff --git a/sys/arch/armv7/sunxi/sunxi_machdep.c b/sys/arch/armv7/sunxi/sunxi_machdep.c
index 5972b1c9784..210fb292cb0 100644
--- a/sys/arch/armv7/sunxi/sunxi_machdep.c
+++ b/sys/arch/armv7/sunxi/sunxi_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sunxi_machdep.c,v 1.6 2015/05/15 15:35:43 jsg Exp $ */
+/* $OpenBSD: sunxi_machdep.c,v 1.7 2015/05/19 00:05:59 jsg Exp $ */
/*
* Copyright (c) 2013 Sylvestre Gallon <ccna.syl@gmail.com>
*
@@ -85,31 +85,6 @@ platform_board_name(void)
}
void
-platform_bootconfig_dram(BootConfig *bootconfig, psize_t *memstart, psize_t *memsize)
-{
- int loop;
-
- if (bootconfig->dramblocks == 0) {
- *memstart = SDRAM_START;
- *memsize = 0x10000000; /* 256 MB */
- /* Fake bootconfig structure for the benefit of pmap.c */
- /* XXX must make the memory description h/w independant */
- bootconfig->dram[0].address = *memstart;
- bootconfig->dram[0].pages = *memsize / PAGE_SIZE;
- bootconfig->dramblocks = 1;
- } else {
- *memstart = bootconfig->dram[0].address;
- *memsize = bootconfig->dram[0].pages * PAGE_SIZE;
- printf("memory size derived from u-boot\n");
- for (loop = 0; loop < bootconfig->dramblocks; loop++) {
- printf("bootconf.mem[%d].address = %08x pages %d/0x%08x\n",
- loop, bootconfig->dram[0].address, bootconfig->dram[0].pages,
- bootconfig->dram[0].pages * PAGE_SIZE);
- }
- }
-}
-
-void
platform_disable_l2_if_needed(void)
{