Module Name: src
Committed By: aymeric
Date: Sun Oct 14 18:58:44 UTC 2018
Modified Files:
src/sys/arch/arm/altera: cycv_platform.c
src/sys/arch/evbarm/conf: mk.altera
Log Message:
Make the DE0 NanoSoC work also in big-endian mode
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/altera/cycv_platform.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/conf/mk.altera
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/arm/altera/cycv_platform.c
diff -u src/sys/arch/arm/altera/cycv_platform.c:1.1 src/sys/arch/arm/altera/cycv_platform.c:1.2
--- src/sys/arch/arm/altera/cycv_platform.c:1.1 Wed Sep 19 17:31:38 2018
+++ src/sys/arch/arm/altera/cycv_platform.c Sun Oct 14 18:58:44 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: cycv_platform.c,v 1.1 2018/09/19 17:31:38 aymeric Exp $ */
+/* $NetBSD: cycv_platform.c,v 1.2 2018/10/14 18:58:44 aymeric Exp $ */
/* This file is in the public domain. */
@@ -6,7 +6,7 @@
#include "opt_multiprocessor.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cycv_platform.c,v 1.1 2018/09/19 17:31:38 aymeric Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cycv_platform.c,v 1.2 2018/10/14 18:58:44 aymeric Exp $");
#define _ARM32_BUS_DMA_PRIVATE
#include <sys/param.h>
@@ -71,7 +71,7 @@ cycv_platform_bootstrap(void) {
* stored very low in RAM so we can't re-map the Boot ROM easily.
*/
- *(volatile uint32_t *) 0x0 = 0xea000000 | ((startfunc - 8 - 0x0) >> 2);
+ *(volatile uint32_t *) 0x0 = htole32(0xea000000 | ((startfunc - 8 - 0x0) >> 2));
arm_cpu_max = 2;
@@ -97,10 +97,10 @@ cycv_platform_early_putchar(char c) {
#define CONSADDR_VA (CONSADDR - CYCV_PERIPHERAL_BASE + CYCV_PERIPHERAL_VBASE)
volatile uint32_t *uartaddr = (volatile uint32_t *) CONSADDR_VA;
- while ((uartaddr[com_lsr] & LSR_TXRDY) == 0)
+ while ((le32toh(uartaddr[com_lsr]) & LSR_TXRDY) == 0)
;
- uartaddr[com_data] = c;
+ uartaddr[com_data] = htole32(c);
#endif
}
Index: src/sys/arch/evbarm/conf/mk.altera
diff -u src/sys/arch/evbarm/conf/mk.altera:1.1 src/sys/arch/evbarm/conf/mk.altera:1.2
--- src/sys/arch/evbarm/conf/mk.altera:1.1 Wed Sep 19 17:31:39 2018
+++ src/sys/arch/evbarm/conf/mk.altera Sun Oct 14 18:58:44 2018
@@ -1,4 +1,9 @@
-# $NetBSD: mk.altera,v 1.1 2018/09/19 17:31:39 aymeric Exp $
+# $NetBSD: mk.altera,v 1.2 2018/10/14 18:58:44 aymeric Exp $
+
+.if !empty(MACHINE_ARCH:M*eb)
+EXTRA_LINKFLAGS+= --be8
+.endif
+
CPPFLAGS+= -mcpu=cortex-a9 -mfpu=neon
SYSTEM_FIRST_OBJ= altera_start.o