Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Jan 2013 08:17:46 +1300
From:      Andrew Turner <andrew@fubar.geek.nz>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r244899 - head/sys/mips/beri
Message-ID:  <20130102081746.5435db05@fubar.geek.nz>
In-Reply-To: <201212311106.qBVB6chM016661@svn.freebsd.org>
References:  <201212311106.qBVB6chM016661@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--MP_/uEzSZj7HLXP7TyeAYwWWOYE
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On Mon, 31 Dec 2012 11:06:38 +0000 (UTC)
Robert Watson <rwatson@FreeBSD.org> wrote:

> Author: rwatson
> Date: Mon Dec 31 11:06:37 2012
> New Revision: 244899
> URL: http://svnweb.freebsd.org/changeset/base/244899
> 
> Log:
>   If FDT is compiled into a FreeBSD/beri kernel, initialise
> OpenFirmware. 
>   Sponsored by:	DARPA, AFRL
> 
> Modified:
>   head/sys/mips/beri/beri_machdep.c
> 
> Modified: head/sys/mips/beri/beri_machdep.c
> ==============================================================================
> --- head/sys/mips/beri/beri_machdep.c	Mon Dec 31 07:50:02
> 2012	(r244898) +++ head/sys/mips/beri/beri_machdep.c
> Mon Dec 31 11:06:37 2012	(r244899) @@ -1,7 +1,12 @@
>  /*-
>   * Copyright (c) 2006 Wojciech A. Koszek <wkoszek@FreeBSD.org>
> + * Copyright (c) 2012 Robert N. M. Watson
>   * All rights reserved.
>   *
> + * This software was developed by SRI International and the
> University of
> + * Cambridge Computer Laboratory under DARPA/AFRL contract
> (FA8750-10-C-0237)
> + * ("CTSRD"), as part of the DARPA CRASH research programme.
> + *
>   * Redistribution and use in source and binary forms, with or without
>   * modification, are permitted provided that the following conditions
>   * are met:
> @@ -27,6 +32,7 @@
>  __FBSDID("$FreeBSD$");
>  
>  #include "opt_ddb.h"
> +#include "opt_platform.h"
>  
>  #include <sys/param.h>
>  #include <sys/conf.h>
> @@ -49,6 +55,9 @@ __FBSDID("$FreeBSD$");
>  #include <sys/sysproto.h>
>  #include <sys/user.h>
>  
> +#include <dev/fdt/fdt_common.h>
> +#include <dev/ofw/openfirm.h>
> +
>  #include <vm/vm.h>
>  #include <vm/vm_object.h>
>  #include <vm/vm_page.h>
> @@ -76,6 +85,17 @@ mips_init(void)
>  {
>  	int i;
>  
> +#ifdef FDT
> +#ifndef FDT_DTB_STATIC
> +#error	"mips_init with FDT requires FDT_DTB_STATIC"
> +#endif
> +
> +	if (OF_install(OFW_FDT, 0) == FALSE)
> +		while (1);
> +	if (OF_init(&fdt_static_dtb) != 0)
> +		while (1);
> +#endif
> +
>  	for (i = 0; i < 10; i++) {
>  		phys_avail[i] = 0;
>  	}
> 
> 

This looks like it is too late in the boot process. If you are using
FDT you will need to use the FDT uart which is initialised in cninit.

You will also need a patch similar to the untested one attached to fix
the build.

Andrew
--MP_/uEzSZj7HLXP7TyeAYwWWOYE
Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=beri_fdt.diff

Index: beri/beri_machdep.c
===================================================================
--- beri/beri_machdep.c	(revision 244940)
+++ beri/beri_machdep.c	(working copy)
@@ -55,8 +55,10 @@ __FBSDID("$FreeBSD$");
 #include <sys/sysproto.h>
 #include <sys/user.h>
 
+#ifdef FDT
 #include <dev/fdt/fdt_common.h>
 #include <dev/ofw/openfirm.h>
+#endif
 
 #include <vm/vm.h>
 #include <vm/vm_object.h>

--MP_/uEzSZj7HLXP7TyeAYwWWOYE--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130102081746.5435db05>