If FDT is compiled into a FreeBSD/beri kernel, initialise OpenFirmware.

Sponsored by:	DARPA, AFRL
This commit is contained in:
Robert Watson 2012-12-31 11:06:37 +00:00
parent ff82fb46d4
commit 9eb71e68fe
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=244899

View file

@ -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;
}