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 "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "asm/types.h"
|
#include "asm/types.h"
|
||||||
#include "dict.h"
|
#include "dict.h"
|
||||||
@@ -38,6 +39,7 @@ arch_init( void )
|
|||||||
{
|
{
|
||||||
void setup_timers(void);
|
void setup_timers(void);
|
||||||
|
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
#ifdef CONFIG_DRIVER_IDE
|
#ifdef CONFIG_DRIVER_IDE
|
||||||
setup_timers();
|
setup_timers();
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "arch/common/nvram.h"
|
#include "arch/common/nvram.h"
|
||||||
#include "briq/briq.h"
|
#include "briq/briq.h"
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "arch/common/nvram.h"
|
#include "arch/common/nvram.h"
|
||||||
#include "mol/mol.h"
|
#include "mol/mol.h"
|
||||||
@@ -86,6 +87,7 @@ arch_of_init( void )
|
|||||||
devtree_init();
|
devtree_init();
|
||||||
node_methods_init();
|
node_methods_init();
|
||||||
nvram_init("/pci/mac-io/nvram");
|
nvram_init("/pci/mac-io/nvram");
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
pseudodisk_init();
|
pseudodisk_init();
|
||||||
osiblk_init();
|
osiblk_init();
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "arch/common/nvram.h"
|
#include "arch/common/nvram.h"
|
||||||
#include "pearpc/pearpc.h"
|
#include "pearpc/pearpc.h"
|
||||||
@@ -94,6 +95,7 @@ arch_of_init( void )
|
|||||||
|
|
||||||
devtree_init();
|
devtree_init();
|
||||||
nvram_init("/pci/mac-io/nvram");
|
nvram_init("/pci/mac-io/nvram");
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
setup_timers();
|
setup_timers();
|
||||||
#ifdef CONFIG_DRIVER_PCI
|
#ifdef CONFIG_DRIVER_PCI
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "drivers/pci.h"
|
#include "drivers/pci.h"
|
||||||
#include "arch/common/nvram.h"
|
#include "arch/common/nvram.h"
|
||||||
@@ -490,6 +491,7 @@ arch_of_init( void )
|
|||||||
|
|
||||||
ofmem_t *ofmem = ofmem_arch_get_private();
|
ofmem_t *ofmem = ofmem_arch_get_private();
|
||||||
|
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
setup_timers();
|
setup_timers();
|
||||||
#ifdef CONFIG_DRIVER_PCI
|
#ifdef CONFIG_DRIVER_PCI
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "drivers/drivers.h"
|
#include "drivers/drivers.h"
|
||||||
#include "asm/types.h"
|
#include "asm/types.h"
|
||||||
@@ -130,6 +131,7 @@ static void init_memory(void)
|
|||||||
static void
|
static void
|
||||||
arch_init( void )
|
arch_init( void )
|
||||||
{
|
{
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
ob_init_mmu();
|
ob_init_mmu();
|
||||||
ob_init_iommu(hwdef->iommu_base);
|
ob_init_iommu(hwdef->iommu_base);
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "drivers/drivers.h"
|
#include "drivers/drivers.h"
|
||||||
#include "dict.h"
|
#include "dict.h"
|
||||||
@@ -470,6 +471,7 @@ static void init_memory(void)
|
|||||||
static void
|
static void
|
||||||
arch_init( void )
|
arch_init( void )
|
||||||
{
|
{
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
#ifdef CONFIG_DRIVER_PCI
|
#ifdef CONFIG_DRIVER_PCI
|
||||||
ob_pci_init();
|
ob_pci_init();
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#include "kernel/stack.h"
|
#include "kernel/stack.h"
|
||||||
#include "arch/unix/plugins.h"
|
#include "arch/unix/plugins.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "openbios-version.h"
|
#include "openbios-version.h"
|
||||||
|
|
||||||
#include "blk.h"
|
#include "blk.h"
|
||||||
@@ -358,6 +359,7 @@ void exception(__attribute__((unused)) cell no)
|
|||||||
static void
|
static void
|
||||||
arch_init( void )
|
arch_init( void )
|
||||||
{
|
{
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
if(diskemu!=-1)
|
if(diskemu!=-1)
|
||||||
blk_init();
|
blk_init();
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "libopenbios/openbios.h"
|
||||||
#include "libopenbios/bindings.h"
|
#include "libopenbios/bindings.h"
|
||||||
#include "asm/types.h"
|
#include "asm/types.h"
|
||||||
#include "dict.h"
|
#include "dict.h"
|
||||||
@@ -50,6 +51,7 @@ arch_init( void )
|
|||||||
{
|
{
|
||||||
void setup_timers(void);
|
void setup_timers(void);
|
||||||
|
|
||||||
|
openbios_init();
|
||||||
modules_init();
|
modules_init();
|
||||||
#ifdef CONFIG_DRIVER_PCI
|
#ifdef CONFIG_DRIVER_PCI
|
||||||
arch = &default_pci_host;
|
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="font_8x16.c" condition="FONT_8X16"/>
|
||||||
<object source="fcode_load.c" condition="LOADER_FCODE"/>
|
<object source="fcode_load.c" condition="LOADER_FCODE"/>
|
||||||
<object source="forth_load.c" condition="LOADER_FORTH"/>
|
<object source="forth_load.c" condition="LOADER_FORTH"/>
|
||||||
|
<object source="init.c"/>
|
||||||
<object source="ipchecksum.c"/>
|
<object source="ipchecksum.c"/>
|
||||||
<object source="linuxbios_info.c" condition="LINUXBIOS"/>
|
<object source="linuxbios_info.c" condition="LINUXBIOS"/>
|
||||||
<object source="ofmem_common.c" condition="OFMEM"/>
|
<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