mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
Create an initialisation function called openbios_init(), similar to modules_init(), for use by libopenbios and make sure all
architectures are updated to use it. This is required to allow binding of C functions into Forth by libopenbios (i.e. cross architecture) rather than having to update everything in every arch/*/ initialisation file. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk> git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@725 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
committed by
Mark Cave-Ayland
parent
075e485628
commit
9661f91432
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "asm/types.h"
|
||||
#include "dict.h"
|
||||
@@ -38,6 +39,7 @@ arch_init( void )
|
||||
{
|
||||
void setup_timers(void);
|
||||
|
||||
openbios_init();
|
||||
modules_init();
|
||||
#ifdef CONFIG_DRIVER_IDE
|
||||
setup_timers();
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "arch/common/nvram.h"
|
||||
#include "briq/briq.h"
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "arch/common/nvram.h"
|
||||
#include "mol/mol.h"
|
||||
@@ -86,6 +87,7 @@ arch_of_init( void )
|
||||
devtree_init();
|
||||
node_methods_init();
|
||||
nvram_init("/pci/mac-io/nvram");
|
||||
openbios_init();
|
||||
modules_init();
|
||||
pseudodisk_init();
|
||||
osiblk_init();
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "arch/common/nvram.h"
|
||||
#include "pearpc/pearpc.h"
|
||||
@@ -94,6 +95,7 @@ arch_of_init( void )
|
||||
|
||||
devtree_init();
|
||||
nvram_init("/pci/mac-io/nvram");
|
||||
openbios_init();
|
||||
modules_init();
|
||||
setup_timers();
|
||||
#ifdef CONFIG_DRIVER_PCI
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "drivers/pci.h"
|
||||
#include "arch/common/nvram.h"
|
||||
@@ -490,6 +491,7 @@ arch_of_init( void )
|
||||
|
||||
ofmem_t *ofmem = ofmem_arch_get_private();
|
||||
|
||||
openbios_init();
|
||||
modules_init();
|
||||
setup_timers();
|
||||
#ifdef CONFIG_DRIVER_PCI
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "drivers/drivers.h"
|
||||
#include "asm/types.h"
|
||||
@@ -130,6 +131,7 @@ static void init_memory(void)
|
||||
static void
|
||||
arch_init( void )
|
||||
{
|
||||
openbios_init();
|
||||
modules_init();
|
||||
ob_init_mmu();
|
||||
ob_init_iommu(hwdef->iommu_base);
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "drivers/drivers.h"
|
||||
#include "dict.h"
|
||||
@@ -470,6 +471,7 @@ static void init_memory(void)
|
||||
static void
|
||||
arch_init( void )
|
||||
{
|
||||
openbios_init();
|
||||
modules_init();
|
||||
#ifdef CONFIG_DRIVER_PCI
|
||||
ob_pci_init();
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "kernel/stack.h"
|
||||
#include "arch/unix/plugins.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "openbios-version.h"
|
||||
|
||||
#include "blk.h"
|
||||
@@ -358,6 +359,7 @@ void exception(__attribute__((unused)) cell no)
|
||||
static void
|
||||
arch_init( void )
|
||||
{
|
||||
openbios_init();
|
||||
modules_init();
|
||||
if(diskemu!=-1)
|
||||
blk_init();
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
#include "libopenbios/bindings.h"
|
||||
#include "asm/types.h"
|
||||
#include "dict.h"
|
||||
@@ -50,6 +51,7 @@ arch_init( void )
|
||||
{
|
||||
void setup_timers(void);
|
||||
|
||||
openbios_init();
|
||||
modules_init();
|
||||
#ifdef CONFIG_DRIVER_PCI
|
||||
arch = &default_pci_host;
|
||||
|
||||
22
include/libopenbios/openbios.h
Normal file
22
include/libopenbios/openbios.h
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Creation Date: <2010/04/02 12:00:00 mcayland>
|
||||
* Time-stamp: <2010/04/02 12:00:00 mcayland>
|
||||
*
|
||||
* <openbios.h>
|
||||
*
|
||||
* General OpenBIOS initialization
|
||||
*
|
||||
* Copyright (C) 2010 Mark Cave-Ayland (mark.cave-ayland@siriusit.co.uk)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* version 2
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _H_LIBOPENBIOS
|
||||
#define _H_LIBOPENBIOS
|
||||
|
||||
extern void openbios_init( void );
|
||||
|
||||
#endif /* _H_LIBOPENBIOS */
|
||||
@@ -12,6 +12,7 @@
|
||||
<object source="font_8x16.c" condition="FONT_8X16"/>
|
||||
<object source="fcode_load.c" condition="LOADER_FCODE"/>
|
||||
<object source="forth_load.c" condition="LOADER_FORTH"/>
|
||||
<object source="init.c"/>
|
||||
<object source="ipchecksum.c"/>
|
||||
<object source="linuxbios_info.c" condition="LINUXBIOS"/>
|
||||
<object source="ofmem_common.c" condition="OFMEM"/>
|
||||
|
||||
24
libopenbios/init.c
Normal file
24
libopenbios/init.c
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Creation Date: <2010/04/02 12:00:00 mcayland>
|
||||
* Time-stamp: <2010/04/02 12:00:00 mcayland>
|
||||
*
|
||||
* <init.c>
|
||||
*
|
||||
* OpenBIOS intialization
|
||||
*
|
||||
* Copyright (C) 2010 Mark Cave-Ayland (mark.cave-ayland@siriusit.co.uk)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* version 2
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "libopenbios/openbios.h"
|
||||
|
||||
void
|
||||
openbios_init( void )
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
Reference in New Issue
Block a user