Module Name:    src
Committed By:   rin
Date:           Tue Mar 30 02:04:44 UTC 2021

Modified Files:
        src/sys/arch/evbppc/conf: Makefile.walnut.inc files.walnut
        src/sys/arch/evbppc/walnut: machdep.c
        src/sys/arch/powerpc/include/ibm4xx: cpu.h
Removed Files:
        src/sys/arch/evbppc/walnut: walnut_start.S

Log Message:
Convert walnut to use powerpc/ibm4xx/openbios.
No functional changes.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/evbppc/conf/Makefile.walnut.inc
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/evbppc/conf/files.walnut
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/evbppc/walnut/machdep.c
cvs rdiff -u -r1.24 -r0 src/sys/arch/evbppc/walnut/walnut_start.S
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/powerpc/include/ibm4xx/cpu.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/evbppc/conf/Makefile.walnut.inc
diff -u src/sys/arch/evbppc/conf/Makefile.walnut.inc:1.10 src/sys/arch/evbppc/conf/Makefile.walnut.inc:1.11
--- src/sys/arch/evbppc/conf/Makefile.walnut.inc:1.10	Mon Mar 29 13:12:38 2021
+++ src/sys/arch/evbppc/conf/Makefile.walnut.inc	Tue Mar 30 02:04:43 2021
@@ -1,12 +1,12 @@
-#	$NetBSD: Makefile.walnut.inc,v 1.10 2021/03/29 13:12:38 rin Exp $
+#	$NetBSD: Makefile.walnut.inc,v 1.11 2021/03/30 02:04:43 rin Exp $
 
 MKIMG?=	${HOST_SH} ${THISPPC}/compile/walnut-mkimg.sh
 CFLAGS+=-mcpu=405
 AFLAGS+=-mcpu=405
 TEXTADDR?=	25000
 
-SYSTEM_FIRST_OBJ=	walnut_start.o
-SYSTEM_FIRST_SFILE=	${THISPPC}/walnut/walnut_start.S
+SYSTEM_FIRST_OBJ=	locore.o
+SYSTEM_FIRST_SFILE=	${POWERPC}/${PPCDIR}/openbios/locore.S
 
 SYSTEM_LD_TAIL_EXTRA_EXTRA+=; \
 	echo ${MKIMG} $@ $@.img ; \

Index: src/sys/arch/evbppc/conf/files.walnut
diff -u src/sys/arch/evbppc/conf/files.walnut:1.18 src/sys/arch/evbppc/conf/files.walnut:1.19
--- src/sys/arch/evbppc/conf/files.walnut:1.18	Mon Mar 29 14:21:08 2021
+++ src/sys/arch/evbppc/conf/files.walnut	Tue Mar 30 02:04:43 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: files.walnut,v 1.18 2021/03/29 14:21:08 rin Exp $
+#	$NetBSD: files.walnut,v 1.19 2021/03/30 02:04:43 rin Exp $
 #
 # walnut-specific configuration info
 
@@ -8,6 +8,7 @@ file	arch/evbppc/walnut/machdep.c
 file	arch/powerpc/ibm4xx/ibm4xx_autoconf.c
 file	arch/powerpc/ibm4xx/ibm40x_machdep.c
 file	arch/powerpc/ibm4xx/ibm4xx_machdep.c
+file	arch/powerpc/ibm4xx/openbios/openbios.c
 
 # Memory Disk for install kernel
 file	dev/md_root.c				memory_disk_hooks

Index: src/sys/arch/evbppc/walnut/machdep.c
diff -u src/sys/arch/evbppc/walnut/machdep.c:1.64 src/sys/arch/evbppc/walnut/machdep.c:1.65
--- src/sys/arch/evbppc/walnut/machdep.c:1.64	Tue Mar 30 01:33:50 2021
+++ src/sys/arch/evbppc/walnut/machdep.c	Tue Mar 30 02:04:44 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.64 2021/03/30 01:33:50 rin Exp $	*/
+/*	$NetBSD: machdep.c,v 1.65 2021/03/30 02:04:44 rin Exp $	*/
 
 /*
  * Copyright 2001, 2002 Wasabi Systems, Inc.
@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.64 2021/03/30 01:33:50 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.65 2021/03/30 02:04:44 rin Exp $");
 
 #include "opt_compat_netbsd.h"
 #include "opt_ddb.h"
@@ -108,6 +108,8 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 
 #include <powerpc/ibm4xx/dcr4xx.h>
 #include <powerpc/ibm4xx/ibm405gp.h>
 
+#include <powerpc/ibm4xx/openbios.h>
+
 #include <powerpc/ibm4xx/pci_machdep.h>
 
 #include <powerpc/pic/picvar.h>
@@ -139,21 +141,17 @@ char machine_arch[] = MACHINE_ARCH;	/* f
 
 void initppc(vaddr_t, vaddr_t, char *, void *);
 
-struct board_cfg_data board_data;
-
 void
 initppc(vaddr_t startkernel, vaddr_t endkernel, char *args, void *info_block)
 {
+	u_int memsize;
+
 	/* Disable all external interrupts */
 	mtdcr(DCR_UIC0_BASE + DCR_UIC_ER, 0);
 
-        /* Initialize cache info for memcpy, etc. */
-        cpu_probe_cache();
-
-	/* Save info block */
-	memcpy(&board_data, info_block, sizeof(board_data));
-
-	ibm40x_memsize_init(board_data.mem_size, startkernel);
+	/* Setup board from OpenBIOS */
+	openbios_board_init(info_block);
+	memsize = openbios_board_memsize_get();
 
 	/* Linear map kernel memory */
 	for (vaddr_t va = 0; va < endkernel; va += TLB_PG_SIZE) {
@@ -161,30 +159,16 @@ initppc(vaddr_t startkernel, vaddr_t end
 	}
 
 	/* Map console after physmem (see pmap_tlbmiss()) */
-	ppc4xx_tlb_reserve(IBM405GP_UART0_BASE,
-	    roundup(board_data.mem_size, TLB_PG_SIZE),
+	ppc4xx_tlb_reserve(IBM405GP_UART0_BASE, roundup(memsize, TLB_PG_SIZE),
 	    TLB_PG_SIZE, TLB_I | TLB_G);
 
 	mtspr(SPR_TCR, 0);	/* disable all timers */
 
+	ibm40x_memsize_init(memsize, startkernel);
 	ibm4xx_init(startkernel, endkernel, pic_ext_intr);
 
 #ifdef DEBUG
-	printf("Board config data:\n");
-	printf("  usr_config_ver = %s\n", board_data.usr_config_ver);
-	printf("  rom_sw_ver = %s\n", board_data.rom_sw_ver);
-	printf("  mem_size = %u\n", board_data.mem_size);
-	printf("  mac_address_local = %02x:%02x:%02x:%02x:%02x:%02x\n",
-	    board_data.mac_address_local[0], board_data.mac_address_local[1],
-	    board_data.mac_address_local[2], board_data.mac_address_local[3],
-	    board_data.mac_address_local[4], board_data.mac_address_local[5]);
-	printf("  mac_address_pci = %02x:%02x:%02x:%02x:%02x:%02x\n",
-	    board_data.mac_address_pci[0], board_data.mac_address_pci[1],
-	    board_data.mac_address_pci[2], board_data.mac_address_pci[3],
-	    board_data.mac_address_pci[4], board_data.mac_address_pci[5]);
-	printf("  processor_speed = %u\n", board_data.processor_speed);
-	printf("  plb_speed = %u\n", board_data.plb_speed);
-	printf("  pci_speed = %u\n", board_data.pci_speed);
+	openbios_board_print();
 #endif
 
 #ifdef DDB
@@ -205,41 +189,10 @@ initppc(vaddr_t startkernel, vaddr_t end
 void
 cpu_startup(void)
 {
-	prop_number_t pn;
-	prop_data_t pd;
 
 	ibm4xx_cpu_startup("Walnut PowerPC 405GP Evaluation Board");
 
-	board_info_init();
-
-	pn = prop_number_create_integer(board_data.mem_size);
-	KASSERT(pn != NULL);
-	if (prop_dictionary_set(board_properties, "mem-size", pn) == false)
-		panic("setting mem-size");
-	prop_object_release(pn);
-
-	pd = prop_data_create_data_nocopy(board_data.mac_address_local,
-					  sizeof(board_data.mac_address_local));
-	KASSERT(pd != NULL);
-	if (prop_dictionary_set(board_properties, "emac0-mac-addr",
-				pd) == false)
-		panic("setting emac0-mac-addr");
-	prop_object_release(pd);
-
-	pd = prop_data_create_data_nocopy(board_data.mac_address_pci,
-					  sizeof(board_data.mac_address_pci));
-	KASSERT(pd != NULL);
-	if (prop_dictionary_set(board_properties, "sip0-mac-addr",
-				pd) == false)
-		panic("setting sip0-mac-addr");
-	prop_object_release(pd);
-
-	pn = prop_number_create_integer(board_data.processor_speed);
-	KASSERT(pn != NULL);
-	if (prop_dictionary_set(board_properties, "processor-frequency",
-				pn) == false)
-		panic("setting processor-frequency");
-	prop_object_release(pn);
+	openbios_board_info_set();
 
 	/*
 	 * Now that we have VM, malloc()s are OK in bus_space.

Index: src/sys/arch/powerpc/include/ibm4xx/cpu.h
diff -u src/sys/arch/powerpc/include/ibm4xx/cpu.h:1.24 src/sys/arch/powerpc/include/ibm4xx/cpu.h:1.25
--- src/sys/arch/powerpc/include/ibm4xx/cpu.h:1.24	Tue Mar 30 01:16:45 2021
+++ src/sys/arch/powerpc/include/ibm4xx/cpu.h	Tue Mar 30 02:04:44 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.h,v 1.24 2021/03/30 01:16:45 rin Exp $	*/
+/*	$NetBSD: cpu.h,v 1.25 2021/03/30 02:04:44 rin Exp $	*/
 
 /*
  * Copyright 2002 Wasabi Systems, Inc.
@@ -145,23 +145,4 @@ extern char msgbuf[MSGBUFSIZE];
 extern prop_dictionary_t board_properties;
 extern void board_info_init(void);
 
-/*****************************************************************************/
-/* THIS CODE IS OBSOLETE. WILL BE REMOVED */
-/*
- * Board configuration structure from the OpenBIOS.
- */
-struct board_cfg_data {
-	unsigned char	usr_config_ver[4];
-	unsigned char	rom_sw_ver[30];
-	unsigned int	mem_size;
-	unsigned char	mac_address_local[6];
-	unsigned char	mac_address_pci[6];
-	unsigned int	processor_speed;
-	unsigned int	plb_speed;
-	unsigned int	pci_speed;
-};
-
-extern struct board_cfg_data board_data;
-/*****************************************************************************/
-
 #endif	/* _IBM4XX_CPU_H_ */

Reply via email to