Module Name: src Committed By: rin Date: Fri Mar 5 06:06:34 UTC 2021
Modified Files: src/sys/arch/evbppc/conf: std.explora src/sys/arch/evbppc/explora: consinit.c src/sys/arch/powerpc/conf: files.powerpc src/sys/arch/powerpc/ibm4xx: clock.c Log Message: For Explora 451, call calc_delayconst() before pckbc_cnattach(), which depends on delay() and DELAY(). Unfortunately, proplib(9) API is not available for MD codes, that are called before consinit() (since pool(9) is not initialized yet). Therefore, hard-code CPU frequency to calc_delayconst() in case "processor-frequency" is not initialized. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbppc/conf/std.explora cvs rdiff -u -r1.9 -r1.10 src/sys/arch/evbppc/explora/consinit.c cvs rdiff -u -r1.97 -r1.98 src/sys/arch/powerpc/conf/files.powerpc cvs rdiff -u -r1.31 -r1.32 src/sys/arch/powerpc/ibm4xx/clock.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/evbppc/conf/std.explora diff -u src/sys/arch/evbppc/conf/std.explora:1.5 src/sys/arch/evbppc/conf/std.explora:1.6 --- src/sys/arch/evbppc/conf/std.explora:1.5 Mon Jun 20 17:44:33 2011 +++ src/sys/arch/evbppc/conf/std.explora Fri Mar 5 06:06:34 2021 @@ -1,4 +1,4 @@ -# $NetBSD: std.explora,v 1.5 2011/06/20 17:44:33 matt Exp $ +# $NetBSD: std.explora,v 1.6 2021/03/05 06:06:34 rin Exp $ # # Standard/required options for NetBSD/explora. @@ -22,4 +22,6 @@ options PPC_INTR_IMPL="<powerpc/intr.h> options INTSTK=8192 +options PPC_CPU_FREQ=66000000 # XXX hack for pckbc_cnattach() + include "arch/evbppc/conf/files.explora" Index: src/sys/arch/evbppc/explora/consinit.c diff -u src/sys/arch/evbppc/explora/consinit.c:1.9 src/sys/arch/evbppc/explora/consinit.c:1.10 --- src/sys/arch/evbppc/explora/consinit.c:1.9 Sat Oct 13 17:58:53 2012 +++ src/sys/arch/evbppc/explora/consinit.c Fri Mar 5 06:06:34 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: consinit.c,v 1.9 2012/10/13 17:58:53 jdc Exp $ */ +/* $NetBSD: consinit.c,v 1.10 2021/03/05 06:06:34 rin Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: consinit.c,v 1.9 2012/10/13 17:58:53 jdc Exp $"); +__KERNEL_RCSID(0, "$NetBSD: consinit.c,v 1.10 2021/03/05 06:06:34 rin Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -54,6 +54,7 @@ __KERNEL_RCSID(0, "$NetBSD: consinit.c,v #include "pckbd.h" #include <evbppc/explora/dev/elbvar.h> +#include <powerpc/ibm4xx/cpu.h> #include "opt_explora.h" @@ -86,6 +87,9 @@ consinit(void) tag = elb_get_bus_space_tag(BASE_FB); fb_cnattach(tag, BASE_FB2, (void *)BASE_FB); + + calc_delayconst(); /* required by pckbc_cnattach() */ + tag = elb_get_bus_space_tag(BASE_PCKBC); pckbc_cnattach(tag, _BUS_SPACE_UNSTRIDE(tag, BASE_PCKBC), _BUS_SPACE_UNSTRIDE(tag, BASE_PCKBC2-BASE_PCKBC), PCKBC_KBD_SLOT, Index: src/sys/arch/powerpc/conf/files.powerpc diff -u src/sys/arch/powerpc/conf/files.powerpc:1.97 src/sys/arch/powerpc/conf/files.powerpc:1.98 --- src/sys/arch/powerpc/conf/files.powerpc:1.97 Wed Oct 21 13:31:51 2020 +++ src/sys/arch/powerpc/conf/files.powerpc Fri Mar 5 06:06:34 2021 @@ -1,8 +1,8 @@ -# $NetBSD: files.powerpc,v 1.97 2020/10/21 13:31:51 christos Exp $ +# $NetBSD: files.powerpc,v 1.98 2021/03/05 06:06:34 rin Exp $ defflag opt_altivec.h ALTIVEC K_ALTIVEC PPC_HAVE_SPE defflag opt_openpic.h OPENPIC_DISTRIBUTE -defparam opt_ppcparam.h L2CR_CONFIG L3CR_CONFIG INTSTK CLOCKBASE VERBOSE_INITPPC +defparam opt_ppcparam.h L2CR_CONFIG L3CR_CONFIG INTSTK CLOCKBASE VERBOSE_INITPPC PPC_CPU_FREQ defflag opt_ppcarch.h PPC_OEA PPC_OEA601 PPC_OEA64 PPC_OEA64_BRIDGE PPC_MPC8XX PPC_IBM4XX PPC_IBM403 PPC_IBM440 PPC_BOOKE defflag opt_ppccache.h CACHE_PROTO_MEI defflag opt_pmap.h PMAPDEBUG PMAPCHECK PMAPCOUNTERS PMAP_MINIMALTLB PMAP_TLBDEBUG Index: src/sys/arch/powerpc/ibm4xx/clock.c diff -u src/sys/arch/powerpc/ibm4xx/clock.c:1.31 src/sys/arch/powerpc/ibm4xx/clock.c:1.32 --- src/sys/arch/powerpc/ibm4xx/clock.c:1.31 Mon Jan 18 04:35:04 2021 +++ src/sys/arch/powerpc/ibm4xx/clock.c Fri Mar 5 06:06:34 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: clock.c,v 1.31 2021/01/18 04:35:04 rin Exp $ */ +/* $NetBSD: clock.c,v 1.32 2021/03/05 06:06:34 rin Exp $ */ /* $OpenBSD: clock.c,v 1.3 1997/10/13 13:42:53 pefo Exp $ */ /* @@ -33,10 +33,11 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.31 2021/01/18 04:35:04 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.32 2021/03/05 06:06:34 rin Exp $"); #ifdef _KERNEL_OPT #include "opt_ppcarch.h" +#include "opt_ppcparam.h" #endif #include <sys/param.h> @@ -197,9 +198,17 @@ calc_delayconst(void) prop_number_t freq; freq = prop_dictionary_get(board_properties, "processor-frequency"); + +#ifndef PPC_CPU_FREQ KASSERT(freq != NULL); +#else + /* XXX hack for pckbc_cnattach() for Explora */ + if (freq == NULL) + ticks_per_sec = (u_long) PPC_CPU_FREQ; + else +#endif + ticks_per_sec = (u_long) prop_number_integer_value(freq); - ticks_per_sec = (u_long) prop_number_integer_value(freq); ns_per_tick = 1000000000 / ticks_per_sec; }