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

Reply via email to